返回介绍

怎么在 Docker Hub 混用 Ansible 自动建置 Docker image?

发布于 2024-10-04 19:05:51 字数 8225 浏览 0 评论 0 收藏 0

現代 IT 人一定要知道的 Ansible 自動化組態技巧

29. 怎麼在 Docker Hub 混用 Ansible 自動建置 Docker image?

上章「28. 怎麼混用 Ansible 建置 Docker image?」凍仁簡化了建置 (build) image 的流程,雖可降低維護成本,但是當維護的 image 一多,就顯得開發機不夠力。

一般企業內部會自行架設 Jenkins CI 或 GitLab CI 等服務,把建置 images 的工作移至 build server 上。

以下凍仁將藉由 chusiang/vim-and-vi-mode image 講解 Docker Hub 的 Auto-build 技巧。

automate_with_ansible_practice-32.jpg

Docker Hub 是什麼?

Docker Hub 是官方維護的 image 市集 (marketplace)。我們可以在網站上取得 Ubuntu, Nginx, MySQL 等官方和社群成員所維護的 image。

2016-12-29-ansible-docker-hub-0.png

chusiang/vim-and-vi-mode 是什麼?

chusiang/vim-and-vi-mode 是藉由 Dockerfile 和 chusiang.vim-and-vi-mode role 建置的 Docker image,上章已提過該 Role,在此就不多加詳述。

目前支援的 Linux 發行版本有:

  • ubuntu14.04, lastest
  • ubuntu16.04
  • debian7
  • debian8
  • centos6
  • centos7

怎麼在 Docker Hub 自動建置 Docker image?

建立 Dockerfile 的前置作業凍仁已在上章介紹過,這裡就不多提了。

  1. 登入 Docker Hub。
  2. 點擊右上角的 Create (建立),並點擊 Create Automated Build (自動建置)2016-12-29-ansible-docker-hub-1.png

  3. 選擇 GitHub。 2016-12-29-ansible-docker-hub-2.png

  4. 找到要 Auto-build 的 GitHub repository。 2016-12-29-ansible-docker-hub-3.png

  5. 選擇好 repository 後,可以在 Name 一欄設定名稱。 2016-12-29-ansible-docker-hub-4.png

    注意!按下送出後就不能變更名稱了!

  6. 進入 Build Settings 頁面設置 build image 相關設定。 2016-12-29-ansible-docker-hub-6.png

    1. Type:依 branch 或 tag 進行建置。
    2. Name:設置 branch 和 tag 的名稱。
    3. Dockerfile Location:Dockerfile 的存放路徑。
    4. Docker Tag Name:設置 Docker tag 名稱。
  7. 在還末推送提交 (push commit) 之前,可先藉由右方的 Trigger 進行手動 build image。

  8. Build Details 頁面裡可以觀看建置狀態。 2016-12-29-ansible-docker-hub-7.png

  9. Tags 頁面可以看到這個 image 有哪些 tag 可以用。 2016-12-29-ansible-docker-hub-8.png

  10. Dockerfile 頁面可以看到內容與上章介紹的雷同。 2016-12-29-ansible-docker-hub-9.png

  11. 現在,我們可以從 Docker Pull Command 取得下載 image 的指令,並可從 Source Repository 取得原始碼。 2016-12-29-ansible-docker-hub-5.png

以上就是 Docker Hub 的 Auto-build 設置。現在我們除了可以用一份 Ansible Roles 進行組態設定,還可以從 Docker Hub 取得 build 好的 Docker image,真是一舉兩得啊!

後語

自從有了這些 Docker images,不管是自己要跨 Linux 平台測環境,還是幫 Vim Taiwan User Group 社群成員的 vimrc 除錯都有很大的幫助呢!

相關連結

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文