以下是一个示例 Ansible Playbook run_docker_container.yml
,用于在某个节点上运行一个 Docker 容器的启动脚本。
---
- name: Run a Docker container using a startup script
hosts: docker-node
become: yes
tasks:
- name: Install Docker
apt:
name: docker.io
state: present
update_cache: yes
- name: Copy Docker startup script to target
copy:
src: /path/to/your/local/startup_script.sh
dest: /tmp/startup_script.sh
mode: '0755'
- name: Run Docker container using the startup script
shell: /tmp/startup_script.sh
register: docker_run_output
- name: Verify Docker container is running
command: docker ps
register: docker_ps_output
- name: Debug Docker ps output
debug:
var: docker_ps_output.stdout_lines
在这个 Playbook 中,我们做了以下几件事:
- 安装 Docker。
- 将本地的 Docker 启动脚本复制到目标节点。
- 运行 Docker 启动脚本来启动 Docker 容器。
- 验证 Docker 容器是否在运行。
需要一个相应的 Inventory 文件 inventory.ini
:
[docker-node]
docker-node.example.com ansible_user=root
确保 Docker 启动脚本 startup_script.sh
在本地可用,并且路径正确。你可以根据需要修改 src
路径。
执行 Playbook:
ansible-playbook -i inventory.ini run_docker_container.yml
这样,你就可以使用 Ansible 在目标节点上运行 Docker 容器的启动脚本并启动容器了。确保目标节点上已经配置好了 Ansible 的访问权限。