目的:記錄一下學習docker部署簡單項目的思路node
思路:docker
此處借用一下官方的邏輯圖~~~~shell
環境:CentOS 7npm
// 使用yum安裝docker 此處因使用的我的服務器,是最高權限 sudo yum install docker
使用docker -v或者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"]
執行docker buildthis
docker build -t 鏡像名 . // 鏡像名後能夠跟版本號,格式如 鏡像名:v1.0 // 最後的 . 要特別注意,不能呢個省略,這個做用是綁定咱們所執行的上線文
執行docker rungoogle
使用此指令,能夠建立一個容器並運行
docker run -d -p 3000:3000 docker-demo:v1.0
查看鏡像
docker images
刪除鏡像
docker rmi 鏡像ID
查看運行的容器
docker ps
中止容器
docker stop 容器ID
檢測docker啓動狀態
sudo systemctl status docker.service
啓動docker
sudo systemctl start docker.service // 執行完上述指令後,再次查看docker當前的狀態,執行sudo systemctl status docker.service~~~~
重啓docker
sudo systemctl restart docker.service