Raj*_* .E 2 ssh ansible docker
我正在为启动docker damon,docker容器,docker exec的 ansible脚本工作,在docker 容器中 启动docker容器后,我需要启动一些服务。
我已经安装了docker engine,在远程机器中配置并使用了一些Docker容器。我曾经用特定的路径启动docker守护进程,因为我需要使用in路径存储我的卷和容器。
$docker daemon -g /test/docker
Run Code Online (Sandbox Code Playgroud)
我的问题是启动docker守护进程时启动了它,但没有进入下一个进程。通过ansible。仍在运行docker daemon。
---
- hosts: webservers
remote_user: root
# Apache Subversion dnf -y install python-pip
tasks:
- name: Start Docker Deamon
shell: docker -d -g /test/docker
become: yes
become_user: root
- name: Start testing docker machine
command: docker start testing
async: True
poll: 0
Run Code Online (Sandbox Code Playgroud)
我按照异步开始该过程,但对我不起作用,
建议我在启动docker daemon之后,如何运行下一个进程。
为了启动docker守护程序,您应该使用ansible 服务模块:
- name: Ensure docker deamon is running
service:
name: docker
state: started
become: true
Run Code Online (Sandbox Code Playgroud)
如官方文档中所述,任何docker daemon定制都应放在/etc/docker/daemon.json中。在您的情况下,文件将如下所示:
{
"graph": "/test/docker"
}
Run Code Online (Sandbox Code Playgroud)
为了与容器交互,请使用ansible docker_container模块:
- name: Ensure My docker container is running
docker_container:
name: testing
image: busybox
state: started
become: true
Run Code Online (Sandbox Code Playgroud)
尽量避免使用shell模块做任何事情,因为这可能会引起麻烦。
| 归档时间: |
|
| 查看次数: |
2116 次 |
| 最近记录: |