docker run --name ansible --rm -it coolbeevip/ansible /bin/bash
镜像内部输入以下指令可以查看 ansible 版本,并可以执行其它 ansible 指令
ansible --version
hosts 配置使用环境变量参数初始化 hosts 配置
docker run --name ansible --rm -it \
-e ANSIBLE_SSH_HOSTS=192.168.0.1 \
-e ANSIBLE_SSH_PORTS=22 \
-e ANSIBLE_SSH_USERS=coolbeevip \
-e ANSIBLE_SSH_PASSS=coolbeevip \
-e ANSIBLE_SU_PASSS=123456 \
coolbeevip/ansible:latest \
/bin/bash
进入镜像后,可以在 /etc/ansible/hosts 文件中看到已经初始化完毕
注意: 以上参数可以设置多个,使用逗号分隔,例如:
ANSIBLE_SSH_HOSTS=192.168.0.1,192.168.0.2
ANSIBLE_SSH_PORTS=22,22
ANSIBLE_SSH_USERS=user1,user2
ANSIBLE_SSH_PASSS=pass1,pass2
ANSIBLE_SU_PASSS=supass1,supass2
注意: 如果您的参数值中包含逗号,那么您可以使用 ANSIBLE_PARAM_SPLIT 参数自定义分隔符,例如
ANSIBLE_PARAM_SPLIT=#
ANSIBLE_SSH_HOSTS=192.168.0.1#192.168.0.2
ANSIBLE_SSH_PORTS=22#22
ANSIBLE_SSH_USERS=user1#user2
ANSIBLE_SSH_PASSS=pass1#pass2
ANSIBLE_SU_PASSS=supass1#supass2
注意: 如果您的参数值中包含 shell 的保留字,那么你的参数值要用双引号扩起来,例如
ANSIBLE_PARAM_SPLIT=";"
ANSIBLE_SSH_HOSTS="192.168.0.1;192.168.0.2"
ANSIBLE_SSH_PORTS="22;22"
ANSIBLE_SSH_USERS="user1;user2"
ANSIBLE_SSH_PASSS="pass1;pass2"
ANSIBLE_SU_PASSS="supass1;supass2"
你可以在容器外部定义 hosts 和 ansible.cfg 文件,并使用卷映射到容器内部
docker run --name ansible --rm -it \
-v ./volume/ansible:/etc/ansible \
coolbeevip/ansible:latest \
/bin/bash
ansible 192.168.0.1 --become --become-user root --become-method su -a 'docker ps'
Content type
Image
Digest
sha256:29cccc03a…
Size
99.6 MB
Last updated
4 months ago
docker pull coolbeevip/ansible