使用ansible管理docker容器 - 最佳实践

时间:2015-06-23 15:31:08

标签: docker ansible

我考虑使用docker和ansible。我的想法是使用ansible来设置我的实例,我想知道这样做的最佳做法是什么:

  1. 从每个容器上的dockerfile调用ansible(这需要在每个容器/实例上安装ansible。这个方法在docker剧集的this answer中提到);或
  2. 运行我的容器,然后通过执行ansible-playbook设置所有实例。
  3. 最好的方法是什么?这种用例还有其他替代方法吗?

1 个答案:

答案 0 :(得分:4)

要使用Ansible设置docker主机(例如实例),您无需在远程计算机上安装Ansible。您在主计算机上安装Ansible,并从那里运行playbooks和ad-hoc命令。这就是为什么Ansible是这类任务的好工具(即在远程机器上安装东西)。

例如,如果您的远程泊坞主机是CentOS 7计算机,您可以使用以下手册根据Docker install directions

安装泊坞窗
- name: Install Docker on remote hosts
  hosts: docker-hosts
  sudo: yes
  tasks:
    - name: Install docker
      shell: curl -sSL https://get.docker.com | sh

请注意,docker-hosts组由您的主机/广告资源文件定义。

在远程计算机上安装了docker之后,您可以创建另一个Ansible playbook来创建/运行容器。

我们通常使用Ansible shell模块代替docker模块。这更方便和参考。所以稍后,有人可以查看用于远程部署容器的shell命令,作为他们自己开发的示例(即“你如何再次运行'docker run'命令?”)

相关问题