Docker 推送鏡像
在現代軟體開發中,容器化已成為部署應用程式的主流方式。它不僅簡化了開發過程,還大大提高了應用程式的可移植性和一致性。
以下會簡單敘述如何將專案容器化,並將其推送到鏡像庫,為部署做好準備。
- 推送流程
- 登入私有庫
推送流程
- 正常流程
建立鏡像(build) -> 上tag -> 推送(push)
# 建立鏡像(build)
# -t 代表tag 名稱
# -f Dockerfile位置 , 將會按照該檔案 建立鏡像
# . 表示當前位置
docker build -t backend-node -f ./xxx/xxx/Dockerfile .
# 上 tag
# backend-node 等於上面 -t 的名稱
# 網址(harbor.xxx.com/prj/node:v1)
## 等於是要推送的鏡像網站 ex: harbor , ecr ... 等
## 後面 :v1 表示 要打上的標籤
docker tag backend-node harbor.xxx.com/prj/node:v1
# 推送(push)
docker push harbor.xxx.com/prj/node:v1
- 精簡版流程
建立鏡像上tag -> 推送(push)
# 建立鏡像(build)
# -t 代表tag 名稱 , 同時直接指向到要推送的鏡像庫
# -f Dockerfile位置 , 將會按照該檔案 建立鏡像
# . 表示當前位置
docker build -t harbor.xxx.com/prj/node:v1 -f ./xxx/xxx/Dockerfile .
# 推送(push)
docker push harbor.xxx.com/prj/node:v1
# 建制後 直接推送 請注意後面有個「.」
docker build -t harbor.xxx.com/prj/node:v1 -f ./xxx/xxx/Dockerfile --push .
- 多平台建構 可參考
測試運行
# -it 交互式 若無運行時的容器 會馬上退出可以用這個方法直接訪問
# --rm 訪問後退出容器 則自動刪除該容器 但鏡像還會在ㄇ
docker run -it --rm harbor.xxx.com/prj/node:v1 sh
私有庫
# 登入私有庫
docker login harbor.xxx.com
# 登入後即可正常推送
docker push harbor.xxx.com/xxx:tag
# 登出私有庫
docker logout harbor.xxx.com