Docker筆記
Docker筆記

Docker筆記

先撰寫Dockerfile 來製作docker image,例如後端

實際操作

假設您的 Docker Hub 用戶名是 username,您可以這樣操作:
  1. 構建鏡像
這會創建一個本地標籤為 my-app 的 Docker 鏡像。
  1. 添加標籤
這會給鏡像添加一個新標籤,這個標籤用於 Docker Hub。
3.推送到 Docker Hub
這會將標籤為 username/my-app 的鏡像推送到 Docker Hub 上您的存儲庫。
 

正確使用 Build Args

在您的 GitHub Actions 工作流中,您使用 build-args 來傳遞環境變量,但格式似乎有點問題。應該像這樣設定:
這樣會將這些環境變量的值作為構建參數傳遞給 Docker。

Dockerfile 中使用 ARG

在您的 Dockerfile 中,使用 ARG 指令接收這些參數:
我的寫法:

CI/CD 執行 build docker up to docker hub

 

執行docker

當您想要容器在執行imgae,例如:
這裡的 -p 8000:8000 表示將容器內的 8000 端口映射到主機的 8000 端口。這樣一來,當您在瀏覽器中訪問 http://localhost:8000 時,您實際上訪問的是運行在 Docker 容器中、監聽在 8000 端口上的應用程序。
 

查詢所有容器

自動刪除容器

當您想要容器在停止後自動刪除時,可以在 docker run 命令中使用 --rm 標誌。例如:
這樣,當容器停止運行時,它會自動從系統中移除。

手動刪除容器

如果容器已經被創建且未使用 --rm 標誌,您可以使用以下命令手動刪除容器:
  1. 停止容器
  1. 刪除容器
 

Install docker on ubuntu VM

  1. 移除舊版本
  1. 更新套件列表
3. 安裝相關套件,確保 apt 透過 HTTPS 使用套件庫:
  1. 添加 Docker 的官方 GPG 密鑰
  1. 設定穩定版倉庫
  1. 再次更新套件列表
  1. 安裝 Docker Engine
  1. 驗證安裝,透過運行 hello-world 映像:
 
 

CI/CD deploy to VM

最後如果想要部署到vm的話再加上
 
記得要在vm上做這件事,讓docker 不需要sudo就可以操作,這樣可以降低使用docker權限,script也不用打sudo docker