国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Docker: 編寫 dockerfile 啟動 node.js 應用

raise_yang / 942人閱讀

摘要:如果目標路徑不存在,將自動創建。用來指定工作目錄,即是執行所在的目錄。命令用來執行命令,這里用來安裝命令用來聲明運行時容器提供服務端口,但要注意運行時并不會開啟這個端口的服務。執行正常展示如下添加參數可以查看所有已啟動容器。

編寫 Dockerfile

express 自動創建的目錄為例,目錄結構如下:

├── /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 指定基礎鏡像為 node 的 10.15 版本(node 官方版本可 在此查看)

MAINTAINER 說明鏡像的維護者

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

WORKDIR 用來指定工作目錄,即是 CMD 執行所在的目錄。

RUN 命令用來執行 shell 命令,這里用來安裝 pm2

EXPOSE 命令用來 聲明 運行時容器提供服務端口,但要注意運行時并不會開啟這個端口的服務。這個命令主要是幫助使用者理解這個鏡像服務的守護端口,以方便配置映射;另外在使用隨機端口映射時,會自動隨機映射 EXPOSE 的端口

CMD 是默認的容器主進程的啟動命令

構建鏡像

在項目目錄下執行

docker build -t express-app:v1 .

如果構建成功,查看鏡像列表

docker images

應該會輸出鏡像 express-app:v1

運行容器
docker run -d -p 8003:3000 --name="express-app" express-app:v1

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

-d--detach,代表讓容器后臺運行。

-p 指定宿主機和容器的端口映射,左邊為宿主機的端口,右邊為容器的端口,也就是說訪問宿主機的 8003 端口,會映射到容器內的 3000 端口。

--name 設置容器別名,如果不指定,docker 會隨機生成一個名字,比如 tender_swirles 之類的。

執行

docker ps

正常展示如下

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

進入容器

如果要進入容器進行操作,執行下面命令

docker exec -it express-app bash

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

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

關閉操作 停止容器
docker stop express-app
刪除容器
docker rm express-app

如果刪除時容器還在運行,需要加上 -f 參數

刪除鏡像
docker rmi express-app:v1

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/28056.html

相關文章

  • 高質量 Node.js 微服務的編寫和部署

    摘要:編寫代碼的開發人員必須負責代碼的生產部署。構建和部署鏈需要重大更改,以便為微服務環境提供正確的關注點分離。該對象會在之后的時被這時的回調函數會被調用,并輸出。微服務部署及集成部署微服務時有一個原則一個容器中只放一個服務,可以使用編 前幾天在微信群做的一次分享,整理出來分享給大家,相關代碼請戳 https://github.com/Carrotzpc/docker_web_app sho...

    szysky 評論0 收藏0
  • 高質量 Node.js 微服務的編寫和部署

    摘要:編寫代碼的開發人員必須負責代碼的生產部署。構建和部署鏈需要重大更改,以便為微服務環境提供正確的關注點分離。該對象會在之后的時被這時的回調函數會被調用,并輸出。微服務部署及集成部署微服務時有一個原則一個容器中只放一個服務,可以使用編 前幾天在微信群做的一次分享,整理出來分享給大家,相關代碼請戳 https://github.com/Carrotzpc/docker_web_app sho...

    Michael_Ding 評論0 收藏0
  • 一步步學會用docker部署應用nodejs版)

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

    canger 評論0 收藏0
  • 一步步學會用docker部署應用nodejs版)

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

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

    摘要:化應用程序此示例的目的是向你展示如何將應用程序放入容器中,該指南旨在用于開發,而不用于生產部署,本指南還假設你有一個有效的安裝,并且基本了解應用程序的結構。 Docker化Node.js Web應用程序 此示例的目的是向你展示如何將Node.js應用程序放入Docker容器中,該指南旨在用于開發,而不用于生產部署,本指南還假設你有一個有效的Docker安裝,并且基本了解Node.js應...

    李世贊 評論0 收藏0

發表評論

0條評論

raise_yang

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<