自動打包image並上傳到docker私人庫

Auto build and push image to private registry

Juo Penguin
2 min readAug 4, 2020

1. 前置作業: 設置好private registry 的server

參考

官方: https://docs.docker.com/registry/
中文教學: https://ithelp.ithome.com.tw/articles/10191213

2. drone設定

drone secret
設定git相關username:password

.drone.yml
(被註解掉的設定可以自行嘗試看看)

kind: pipelinetype: dockername: ebus-kssteps:- name: test-and-releaseimage: node:12.14.0-busterenvironment:GIT_AUTHOR_NAME: {GIT_AUTHOR_NAME}GIT_AUTHOR_EMAIL: {GIT_AUTHOR_EMAIL}GIT_COMMITTER_NAME: {GIT_COMMITTER_NAME}GIT_COMMITTER_EMAIL: {GIT_COMMITTER_EMAIL}GIT_CREDENTIALS:from_secret: bitbucket_username_passwordcommands:- npm i --silent# - npm test# - npx semantic-releasewhen:branch:- master- development- name: build-and-pushimage: plugins/dockersettings:repo: cicd-so-happy.maxwin.com.tw:5000/ebus-ksregistry: cicd-so-happy.maxwin.com.tw:5000tags: ${DRONE_TAG}# tags:#   - 1.0.2 
#custom image tag
# auto_tag: trueinsecure: true # turn this on# when:# event:# - tagwhen:branch:- master

3. 觸發drone自動打包並丟到private registry

//總之就是commit 到 branch master
git commit -m "test drone" && git push origin master

commit完成後觸發drone自動處理,drone成功打包並發佈到private registry會出現類似以下畫面

4. 本機(或是需要從private registry pull image的機器)設定docker

  • 修改設定檔

設定檔位置
mac or linux: /etc/docker/daemon.json

windows: C:\ProgramData\Docker\config\daemon.json

加入以下設定(registry不用加http://)

{   
"insecure-registries": [
"{YOUR_PRIVATE_REGISTRY}:{YOUR_PRIVATE_REGISTRY_PORT}"
]
}

或是如下圖在desktop Docker app 中直接設定

  • 設定好後重新啟動docker

linux(cmd): systemctl restart docker

mac or windows: desktop Docker app的右鍵選單中restart Docker

5. 從private registry pull image

用下列指令從你的private registry pull image下來

docker pull {YOUR_PRIVATE_REGISTRY}:{YOUR_PRIVATE_REGISTRY_PORT}

有pull image 下來就代表成功了!

其他相關文章參考

drone private registry: https://hackmd.io/-Ggi0uxvQpK9nnSz21a-fA
(drone 官方)drone plugins/docker: http://plugins.drone.io/drone-plugins/drone-docker/
(docker registry官方)docker registry: https://docs.docker.com/registry/

--

--

Juo Penguin
Juo Penguin

Written by Juo Penguin

不挑食的雜食者,近期的目標是瘦10公斤。

No responses yet