用可靠的最佳实践pipe理docker集装箱

我正在考虑同时使用docker和ansible。 我的想法是使用可以设置我的实例,我想知道什么是最好的做法:

  1. 从每个容器上的dockerfile调用ansible(这将需要在每个容器/实例上安装一个可靠的方法) 要么
  2. 运行我的容器,然后通过执行剧本来设置所有的实例。

什么是最好的方法? 这种用例还有其他的替代方法吗?

要使用Ansible来设置您的docker主机(即实例),您不需要在远程计算机上安装Ansible。 您可以在主机上安装Ansible,然后从那里运行剧本和临时命令。 这就是为什么Ansible是这种任务的好工具(即在远程机器上安装东西)。

例如,如果您的远程docker主机是CentOS 7机器,则可以使用以下手册根据Docker安装指示安装Docker

- 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之后,您可以创build另一个Ansible操作手册来创build/运行您的容器。

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