Docker Build & Run
- 假設至 GitHub clone 一個開源專案 Exp. https://github.com/iiidevops-templates/nodejs-express-hello 內有包含產生 image 的 Dockerfile 來建立與執行這個專案的服務
操作的步驟
- 操作環境 Ubuntu 20.04
- 複製專案
git clone https://github.com/iiidevops-templates/nodejs-express-hello cd nodejs-express-hello/
- 建立 image 指定 Dockerfile.local 預計產生的 image 打上 myapp1 的標籤
sudo docker build -f Dockerfile.local -t myapp1 .
- 確認 image 是否產生成功
sudo docker image ls | grep myapp1
- 由這個 image 產生一個 container 名稱是 myapp1 並啟動 listen 3000 的服務
sudo docker run -p 3000:3000 --name myapp1 myapp1 &
- 確認這個 container 啟動狀態
sudo docker ps | grep myapp1
會看到類似以下的結果
jonathan@pve-work:~$ sudo docker ps | grep myapp1 8e9c2aaedb28 myapp1 "docker-entrypoint.s…" 2 minutes ago Up 2 minutes 0.0.0.0:3000->3000/tcp myapp1
- 進入執行中的容器操作
sudo docker exec -i -t myapp1 sh
- 測試完畢移除這個 myapp1 container
sudo docker kill myapp1