Tag: ansible playbook

运行mysql:5.5 docker镜像

如何运行mysql:5.5从ansible? 如果我直接运行它: docker run -e MYSQL_ROOT_PASSWORD=pass mysql:5.5 它工作正常。 但是,如果我从理智的angular度出发: – name: run database local_action: module: docker image: mysql:5.5 state: running 这是开始,立即停止。 在1情况下是3306 / tcp,但在情况2没有端口。

Ansibleangular色任务失败的docker swarm节点join

joinpipe理节点的工作节点时遇到问题。 但是我在集群中join工作的时候在系统中有问题。 docker_worker_token设置为另一个主机。 host1: – name: Get the worker join-token. shell: docker swarm join-token -q worker with_items: – "{{ groups['manager'] }}" register: docker_worker_token host2: – name: join node to the cluster shell: docker swarm join –token {{ hostvars[item]['docker_worker_token'] }} {{ managerip }}:2377 with_items: – "{{ groups['manager'] }}" 我正在下面的错误是这样的。 失败:[188.166.30.64](item = 188.166.17.148)=> {“changed”:true,“cmd”:“docker swarm join –token […]

2 Docker Container(JBOSS / DATABASE)之间的networking连接

我正在尝试2个Docker容器之间的连接。 第一个是postgres数据库,第二个是jboss。 我正在使用ansible,这是我的Playbook: — – hosts: localhost tasks: – name: start postgresql docker: name: mypostgres image: MYIMAGE_POSTGRES ports: – 5432:5432 expose: – 5432:5432 state: started env: DB_USER: "user" DB_PASS: "pass" DB_NAME: "name" – name: start jboss docker: name: jboss image: MYIMAGE_JBOSS ports: – 1099:1099 expose: – 1099:1099 state: running env: POSTGRES_PORT_5432_TCP_ADDR: "172.17.0.2" POSTGRES_PORT_5432_TCP_PORT: 5432 HIBERNATE_CREATE_DDL: […]

如何使用ansible修改tomcat docker容器的configuration文件?

我正在尝试使用Ansible playbook更改正在运行的tomcat docker容器的configuration文件或自述文件。 我去了docker模块,你可以build立和运行你的docker图像。 但是我想使用Ansible在运行时更改或replace容器的configuration文件中的任何行的任务自动执行。 我没有看到任何这样的模块来做到这一点。 任何帮助表示赞赏。 PS:我已经知道用于修改行的lineinfile模块。 我的问题是如何使用ansible进入正在运行的容器。

使用Ansible获取Docker容器的内部IP地址

如何使用Ansible获取Docker容器的内部IP? 我尝试了使用hostvars但它给了我一个默认值: {% for host in groups['replicationserversdsds'] %} rs.add("{{ hostvars[host]['ansible_eth0']['ipv4']['address'] }}:{{ mongod_port }}") {% endfor %} 我在我的Mac上安装了Ansible,并创build了2个Docker容器来部署Mongo副本。 所以我需要获得两个容器的内部IP添加到主集的次要。 两者都在Docker Machine主机上运行(相同IP,192.168.99.100)。 但我总是得到一个默认的IP(172.1.0.3)。

Docker容器和Ansible Playbook之间有什么区别?

在我看来,这两个工具都用于轻松安装和自动configuration应用程序。 不过,我有限地使用了Docker,并没有使用Ansible。 所以我有点困惑。 每当我search这两种技术之间的比较时,我会发现如何组合使用这些技术的细节。

Ansible,只有在用户存在的情况下才能将用户添加到组中

我正在编写一个剧本来设置开发环境并为项目build立pipe道。 我希望尽可能保持playbook与实际基础设施的分离,并且只依赖组,所以我可以使用不同的组限制器,在相同的命令下在本地虚拟机和裸机上设置pipe道。 现在的问题是,用本地的stream浪者箱子,我需要添加用户stream浪者到docker组,在那里裸机服务器一些任意的用户。 在剧本中处理这种变化的最佳做法是什么,尽量保持抽象? 我应该使用行为参数,主机variables,组variables,条件或事实收集这种东西? 保持剧本是完全抽象的,甚至是可能的或合理的,没有任何硬编码的价值和对任何环境的适应性?

用可变键Ansible docker_container etc_hosts

我有一个可靠的脚本,通过它产生一个docker容器,并添加less量的主机条目,因为etc_hosts需要密钥作为主机名和相应的IP地址。 在我的情况下,我需要有主机名和IP地址由一些variables驱动,例如 docker_container: name: image-name image: image-to-be-pulled state: started restart_policy: always etc_hosts: "{{ domain_1 }}": "{{ domain_1_ip }}" domain_2 : "{{ domain_2_ip }}" domain_3 : "{{ domain_3_ip }}" 当我进行上面的configuration,然后它作为主机文件的条目 xx.xx.xx.xxx {{ domain_1 }} 理想情况下,主机文件应包含对IP的主机名,有人可以build议我怎么做到这一点。 提前致谢