欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Docker使用編寫dockerfile啟動node.js應(yīng)用

 更新時間:2019年01月22日 09:49:26   作者:時間被海綿吃了  
這篇文章主要介紹了Docker使用編寫dockerfile啟動node.js應(yīng)用,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

編寫 Dockerfile

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

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

在項目目錄下新建 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 說明鏡像的維護(hù)者
  • COPY 命令將宿主機(jī)的文件拷貝到鏡像中,格式為 COPY [--chown=<user>:<group>] <源路徑>... <目標(biāo)路徑>,這里將項目目錄下的所有文件都拷貝到鏡像中的 /app 目錄下。如果目標(biāo)路徑不存在,docker 將自動創(chuàng)建。
  • WORKDIR 用來指定工作目錄,即是 CMD 執(zhí)行所在的目錄。
  • RUN 命令用來執(zhí)行 shell 命令,這里用來安裝 pm2
  • EXPOSE 命令用來 聲明 運(yùn)行時容器提供服務(wù)端口,但要注意運(yùn)行時并不會開啟這個端口的服務(wù)。這個命令主要是幫助使用者理解這個鏡像服務(wù)的守護(hù)端口,以方便配置映射;另外在使用隨機(jī)端口映射時,會自動隨機(jī)映射 EXPOSE 的端口
  • CMD 是默認(rèn)的容器主進(jìn)程的啟動命令

構(gòu)建鏡像

在項目目錄下執(zhí)行

docker build -t express-app:v1 .

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

docker images

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

運(yùn)行容器

docker run -d -p 8003:3000 --name="express-app" express-app:v1

docker rundocker createdocker start 兩個命令的簡寫。

  • -d--detach,代表讓容器后臺運(yùn)行。
  • -p 指定宿主機(jī)和容器的端口映射,左邊為宿主機(jī)的端口,右邊為容器的端口,也就是說訪問宿主機(jī)的 8003 端口,會映射到容器內(nèi)的 3000 端口。
  • --name 設(shè)置容器別名,如果不指定,docker 會隨機(jī)生成一個名字,比如 tender_swirles 之類的。

執(zhí)行

docker ps

正常展示如下

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

進(jìn)入容器

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

docker exec -it express-app bash

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

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

關(guān)閉操作

停止容器

docker stop express-app

刪除容器

docker rm express-app

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

刪除鏡像

docker rmi express-app:v1

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Docker安裝Redis配置遠(yuǎn)程連接及踩坑

    Docker安裝Redis配置遠(yuǎn)程連接及踩坑

    本文主要介紹了Docker安裝Redis配置遠(yuǎn)程連接及踩坑,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • docker部署kafka的方法步驟

    docker部署kafka的方法步驟

    本文主要介紹了docker部署kafka的方法步驟,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • Docker 給運(yùn)行中的容器設(shè)置端口映射的方法

    Docker 給運(yùn)行中的容器設(shè)置端口映射的方法

    這篇文章主要介紹了Docker 給運(yùn)行中的容器設(shè)置端口映射的方法,詳細(xì)的介紹了端口映射的概念和方法,具體一定的參考價值,有興趣的可以了解一下
    2017-11-11
  • Docker搭建Redis?Cluster集群的教程詳解

    Docker搭建Redis?Cluster集群的教程詳解

    這篇文章主要為大家詳細(xì)介紹了Docker搭建Redis?Cluster集群的相關(guān)知識,文中的示例代碼講解詳細(xì),具有一定的借鑒價值,有需要的可以參考下
    2024-03-03
  • Docker私有倉庫的搭建和界面化管理詳解

    Docker私有倉庫的搭建和界面化管理詳解

    這篇文章主要給大家介紹了關(guān)于Docker私有倉庫的搭建和界面化管理的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Docker具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • Docker?Compose+Nestjs構(gòu)建Dapr?Redis發(fā)布訂閱分布式應(yīng)用

    Docker?Compose+Nestjs構(gòu)建Dapr?Redis發(fā)布訂閱分布式應(yīng)用

    這篇文章主要為大家介紹了Docker?Compose+Nestjs構(gòu)建Dapr?Redis發(fā)布訂閱分布式應(yīng)用步驟詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • docker打包node項目的過程講解

    docker打包node項目的過程講解

    今天小編就為大家分享一篇關(guān)于docker打包node項目的過程講解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • docker重新加載nginx配置方式

    docker重新加載nginx配置方式

    這篇文章主要介紹了docker重新加載nginx配置方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • Docker 使用 Supervisor 來管理進(jìn)程操作

    Docker 使用 Supervisor 來管理進(jìn)程操作

    這篇文章主要介紹了Docker 使用 Supervisor 來管理進(jìn)程操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • Docker制作鏡像的完整過程

    Docker制作鏡像的完整過程

    本文主要介紹了Docker制作鏡像的完整過程,以制作CentOS鏡像為例,講述對鏡像自定義,打包以及推送的遠(yuǎn)程倉庫的過程,感興趣的可以了解一下
    2021-11-11

最新評論