docker之mac下部署nodejs項目

mac下docker安裝

1.官網下載
在這裏插入圖片描述
2. 安裝教程可參照官方安裝教程
3.安裝成功可以看到此界面:
在這裏插入圖片描述
4.檢驗安裝結果。

docker -v

結果爲:
在這裏插入圖片描述

初始化一個Node.js項目

  1. 初始化node.js
npm init

2.創建service文件即程序入口

const Koa = require('koa');
const app = new Koa();
app.use(async ctx => {
    ctx.body = 'hello docker';
});
app.listen(3000);

3.創建Dockerfile文件·

# 制定node鏡像版本
FROM node:10
MAINTAINER vincent
# 將根目錄下的文件都copy到container(運行此鏡像的容器)文件系統的app文件夾下
ADD . /app/
# cd到app文件夾下
WORKDIR /app
# 對外暴露的端口號
EXPOSE 3000
RUN npm install
# 容器啓動時執行的命令,類似npm run start
CMD ["npm","start"]

4.創建build忽略文件配置.dockerignore文件

logs
node_modules

5.整體項目結構如下:
在這裏插入圖片描述

構建項目鏡像

1.使用docker命令的build命令,其他命令可以查看Docker命令大全

docker build -t docker_demo .

注:請注意標籤名後面的點,點其實代表的是當前路徑
2.構建過程如下:
在這裏插入圖片描述
注:由於我構建過,所以直接使用緩存,即Using cache。
3. 通過images命令查看當前鏡像

docker images

如圖:
在這裏插入圖片描述

運行nodejs項目鏡像

1.使用docker的run命令:

docker run -d -p 8081:3000 docker_demo

如圖:
在這裏插入圖片描述
2.查看運行中的docker容器:

docker ps

如圖:
在這裏插入圖片描述
3.瀏覽器測試一下
在這裏插入圖片描述
注:雖然我們項目中端口是3000,但是在run鏡像時,我們將主機端口8081映射到了3000上,所以外部直接訪問8081就可以訪問到。
4. 查看運行的容器的日誌

docker logs -f [CONTAINER ID]

就可以看到項目運行的日誌。
5. 停止運行的容器

docker stop [CONTAINER ID]/[正在運行的容器ID]

將本地鏡像推送到docker hub上

1.創建一個docker hub賬戶
打開官方網站註冊一個屬於自己的賬號
2.註冊之後可以在命令行中登陸自己的賬戶

docker login

如圖:
在這裏插入圖片描述
輸入自己的ID和密碼即可登陸成功
3.如果你使用的是vs Code開發工具,則可以直接在擴展工具中搜索docker插件,安裝成功後如圖:
在這裏插入圖片描述
注:首次使用時,在點擊Docker Hub時會提示你登陸你的Hub賬號,跟命令行登陸輸入的東西一樣。登陸成功後就很方便的查看你Hub倉庫的鏡像,以及你本地的鏡像和正在運行的容器了。
4.使用tag命令添加標籤

docker tag docker_demo vincentwsc/docker_demo

5.使用push命令將鏡像推送到Hub倉庫中

docker push vincentwsc/docker_demo

6.登陸到你的Hub頁面就可以看到你剛剛上傳的鏡像了。
在這裏插入圖片描述
7.使用pull命令從Hub拉取項目鏡像

docker pull vincentwsc/docker

就可以直接運行該項目了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章