Ansible 在 Docker Hub 混用 Ansible 自动建置 Docker image

2018-07-25 11:13 更新

上章「Ansible 混用 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 除错都有很大的帮助呢!

相关连结


以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号