使用docker部署簡單的項目

目的:記錄一下學習docker部署簡單項目的思路node

思路:docker

  1. 使用docker pull拉取相應的鏡像源
  2. 建立Dockerfile文件,編寫配置文件
  3. docker build 運行Dockerfile文件,使用其配置建立新的鏡像
  4. docker run 建立容器並運行

    此處借用一下官方的邏輯圖~~~~shell

docker邏輯圖

環境配置

環境:CentOS 7npm

// 使用yum安裝docker  此處因使用的我的服務器,是最高權限
sudo yum install docker

使用docker -v或者docker能夠檢測是否安裝成功服務器

檢測docker是否安裝成功

ps: 關於環境的相關配置,能夠自行百度或者google,有大量教程,通常安裝失敗,都是由於權限的問題(我所遇到的)app

正式部署

建立一個簡單的文件,主要目錄以下學習

`-- your-app-name/
    |-- src/
        `-- app.js  // 隨便寫一些什麼
    `-- Dockerfile   (we will create this in the following steps)

咱們主要關注點是對Dockerfile文件的配置ui

# 拉取node鏡像源,若是本地沒有,會自動從docker hub進行拉取
FROM node:latest
# 執行命令,建立文件夾 此處路徑其實不用進行建立
# 在下一步的copy時,若是沒有此文件,會自動在路徑下建立文件
RUN mkdir -p /home/nodeDemojs
# 複製文件  複製src下的文件到 /home/nodeDemojs
COPY ./src /home/nodeDemojs
# 容器啓動時執行的命令,相似npm run start
CMD ["node", "/home/nodeDemojs/app.js"]

執行文件

  1. 執行docker buildthis

    docker build -t 鏡像名 .
    // 鏡像名後能夠跟版本號,格式如 鏡像名:v1.0
    // 最後的 . 要特別注意,不能呢個省略,這個做用是綁定咱們所執行的上線文
  2. 執行docker images, 查看咱們全部的鏡像

    查看咱們當前的鏡像

  3. 執行docker rungoogle

    使用此指令,能夠建立一個容器並運行

    docker run -d -p 3000:3000 docker-demo:v1.0
    • -d:表示後臺運行
    • -p:表示指定端口映射,(3000:3000)表示(本機端口:容器端口),3000是筆者的nestjs代碼中監聽的訪問端口,也是容器對外暴露的端口
    • 鏡像名後面的:v1.0:表示打的tag號

一些經常使用的指令

  • 查看鏡像

    docker images
  • 刪除鏡像

    docker rmi 鏡像ID
  • 查看運行的容器

    docker ps
  • 中止容器

    docker stop 容器ID
  • 檢測docker啓動狀態

    sudo systemctl status docker.service

    檢測docker啓動狀態

  • 啓動docker

    sudo systemctl start docker.service
    
    // 執行完上述指令後,再次查看docker當前的狀態,執行sudo systemctl status docker.service~~~~
  • 重啓docker

    sudo systemctl restart docker.service
相關文章
相關標籤/搜索