亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

Docker: 編寫(xiě) dockerfile 啟動(dòng) node.js 應(yīng)用

raise_yang / 1021人閱讀

摘要:如果目標(biāo)路徑不存在,將自動(dòng)創(chuàng)建。用來(lái)指定工作目錄,即是執(zhí)行所在的目錄。命令用來(lái)執(zhí)行命令,這里用來(lái)安裝命令用來(lái)聲明運(yùn)行時(shí)容器提供服務(wù)端口,但要注意運(yùn)行時(shí)并不會(huì)開(kāi)啟這個(gè)端口的服務(wù)。執(zhí)行正常展示如下添加參數(shù)可以查看所有已啟動(dòng)容器。

編寫(xiě) Dockerfile

express 自動(dòng)創(chuàng)建的目錄為例,目錄結(jié)構(gòu)如下:

├── /bin
│?? └── www
├── /node_modules
├── /public
├── /routes
├── /views
├── package-lock.json
├── package.json
├── ecosystem.config.js
├── app.js
└── Dockerfile

在項(xiàng)目目錄下新建 Dockerfile 文件

FROM node:10.15
MAINTAINER sunhengzhe@foxmail.com
COPY . /app/
WORKDIR /app
RUN npm install pm2 -g
EXPOSE 8003
CMD ["pm2-runtime", "ecosystem.config.js"]

FROM 指定基礎(chǔ)鏡像為 node 的 10.15 版本(node 官方版本可 在此查看)

MAINTAINER 說(shuō)明鏡像的維護(hù)者

COPY 命令將宿主機(jī)的文件拷貝到鏡像中,格式為 COPY [--chown=:] <源路徑>... <目標(biāo)路徑>,這里將項(xiàng)目目錄下的所有文件都拷貝到鏡像中的 /app 目錄下。如果目標(biāo)路徑不存在,docker 將自動(dòng)創(chuàng)建。

WORKDIR 用來(lái)指定工作目錄,即是 CMD 執(zhí)行所在的目錄。

RUN 命令用來(lái)執(zhí)行 shell 命令,這里用來(lái)安裝 pm2

EXPOSE 命令用來(lái) 聲明 運(yùn)行時(shí)容器提供服務(wù)端口,但要注意運(yùn)行時(shí)并不會(huì)開(kāi)啟這個(gè)端口的服務(wù)。這個(gè)命令主要是幫助使用者理解這個(gè)鏡像服務(wù)的守護(hù)端口,以方便配置映射;另外在使用隨機(jī)端口映射時(shí),會(huì)自動(dòng)隨機(jī)映射 EXPOSE 的端口

CMD 是默認(rèn)的容器主進(jìn)程的啟動(dòng)命令

構(gòu)建鏡像

在項(xiàng)目目錄下執(zhí)行

docker build -t express-app:v1 .

如果構(gòu)建成功,查看鏡像列表

docker images

應(yīng)該會(huì)輸出鏡像 express-app:v1

運(yùn)行容器
docker run -d -p 8003:3000 --name="express-app" express-app:v1

docker rundocker createdocker start 兩個(gè)命令的簡(jiǎn)寫(xiě)。

-d--detach,代表讓容器后臺(tái)運(yùn)行。

-p 指定宿主機(jī)和容器的端口映射,左邊為宿主機(jī)的端口,右邊為容器的端口,也就是說(shuō)訪問(wèn)宿主機(jī)的 8003 端口,會(huì)映射到容器內(nèi)的 3000 端口。

--name 設(shè)置容器別名,如果不指定,docker 會(huì)隨機(jī)生成一個(gè)名字,比如 tender_swirles 之類的。

執(zhí)行

docker ps

正常展示如下

添加 -a 參數(shù)可以查看所有已啟動(dòng)容器。

進(jìn)入容器

如果要進(jìn)入容器進(jìn)行操作,執(zhí)行下面命令

docker exec -it express-app bash

-i-t 一般結(jié)合使用,-i 啟動(dòng)交互模式,-t 指定需要分配終端,可以自行嘗試不傳其中一個(gè)的效果。

exec 類似的還有 attach 命令,命令為 docker attach express-app,但從這個(gè) stdin 中 exit,會(huì)導(dǎo)致容器的停止,所以推薦使用 exec 命令。

關(guān)閉操作 停止容器
docker stop express-app
刪除容器
docker rm express-app

如果刪除時(shí)容器還在運(yùn)行,需要加上 -f 參數(shù)

刪除鏡像
docker rmi express-app:v1

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/28056.html

相關(guān)文章

  • 高質(zhì)量 Node.js 微服務(wù)的編寫(xiě)和部署

    摘要:編寫(xiě)代碼的開(kāi)發(fā)人員必須負(fù)責(zé)代碼的生產(chǎn)部署。構(gòu)建和部署鏈需要重大更改,以便為微服務(wù)環(huán)境提供正確的關(guān)注點(diǎn)分離。該對(duì)象會(huì)在之后的時(shí)被這時(shí)的回調(diào)函數(shù)會(huì)被調(diào)用,并輸出。微服務(wù)部署及集成部署微服務(wù)時(shí)有一個(gè)原則一個(gè)容器中只放一個(gè)服務(wù),可以使用編 前幾天在微信群做的一次分享,整理出來(lái)分享給大家,相關(guān)代碼請(qǐng)戳 https://github.com/Carrotzpc/docker_web_app sho...

    szysky 評(píng)論0 收藏0
  • 高質(zhì)量 Node.js 微服務(wù)的編寫(xiě)和部署

    摘要:編寫(xiě)代碼的開(kāi)發(fā)人員必須負(fù)責(zé)代碼的生產(chǎn)部署。構(gòu)建和部署鏈需要重大更改,以便為微服務(wù)環(huán)境提供正確的關(guān)注點(diǎn)分離。該對(duì)象會(huì)在之后的時(shí)被這時(shí)的回調(diào)函數(shù)會(huì)被調(diào)用,并輸出。微服務(wù)部署及集成部署微服務(wù)時(shí)有一個(gè)原則一個(gè)容器中只放一個(gè)服務(wù),可以使用編 前幾天在微信群做的一次分享,整理出來(lái)分享給大家,相關(guān)代碼請(qǐng)戳 https://github.com/Carrotzpc/docker_web_app sho...

    Michael_Ding 評(píng)論0 收藏0
  • 一步步學(xué)會(huì)用docker部署應(yīng)用nodejs版)

    摘要:本文將采用技術(shù)部署一個(gè)簡(jiǎn)單的應(yīng)用,它包括一個(gè)簡(jiǎn)單的前置網(wǎng)關(guān)服務(wù)器以及業(yè)務(wù)服務(wù)器。同時(shí)使用配置特定鏡像,采用進(jìn)行容器編排,解決依賴網(wǎng)絡(luò)等問(wèn)題。服務(wù)器首先搭建一個(gè)單節(jié)點(diǎn)緩存服務(wù),采用官方提供的最新版鏡像,無(wú)需構(gòu)建。 docker是一種虛擬化技術(shù),可以在內(nèi)核層隔離資源。因此對(duì)于上層應(yīng)用而言,采用docker技術(shù)可以達(dá)到類似于虛擬機(jī)的沙盒環(huán)境。這大大簡(jiǎn)化了應(yīng)用部署,讓運(yùn)維人員無(wú)需陷入無(wú)止境繁瑣...

    canger 評(píng)論0 收藏0
  • 一步步學(xué)會(huì)用docker部署應(yīng)用nodejs版)

    摘要:本文將采用技術(shù)部署一個(gè)簡(jiǎn)單的應(yīng)用,它包括一個(gè)簡(jiǎn)單的前置網(wǎng)關(guān)服務(wù)器以及業(yè)務(wù)服務(wù)器。同時(shí)使用配置特定鏡像,采用進(jìn)行容器編排,解決依賴網(wǎng)絡(luò)等問(wèn)題。服務(wù)器首先搭建一個(gè)單節(jié)點(diǎn)緩存服務(wù),采用官方提供的最新版鏡像,無(wú)需構(gòu)建。 docker是一種虛擬化技術(shù),可以在內(nèi)核層隔離資源。因此對(duì)于上層應(yīng)用而言,采用docker技術(shù)可以達(dá)到類似于虛擬機(jī)的沙盒環(huán)境。這大大簡(jiǎn)化了應(yīng)用部署,讓運(yùn)維人員無(wú)需陷入無(wú)止境繁瑣...

    BlackMass 評(píng)論0 收藏0
  • Node.js 指南(DockerNode.js Web應(yīng)用程序)

    摘要:化應(yīng)用程序此示例的目的是向你展示如何將應(yīng)用程序放入容器中,該指南旨在用于開(kāi)發(fā),而不用于生產(chǎn)部署,本指南還假設(shè)你有一個(gè)有效的安裝,并且基本了解應(yīng)用程序的結(jié)構(gòu)。 Docker化Node.js Web應(yīng)用程序 此示例的目的是向你展示如何將Node.js應(yīng)用程序放入Docker容器中,該指南旨在用于開(kāi)發(fā),而不用于生產(chǎn)部署,本指南還假設(shè)你有一個(gè)有效的Docker安裝,并且基本了解Node.js應(yīng)...

    李世贊 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<