繁体   English   中英

将Ansible Playbook复制文件到Docker容器

[英]ansible playbook copy file to docker container

我想使用Ansible Playbook将文件复制到Docker容器。 我怎样才能做到这一点 ?

- name: kapacitor conf
  template: src=/home/debian/roles/tick_install/files/kapacitor.conf  dest=/etc/kapacitor/kapaci
my docker container = tick_kapacitor

我假设您使用的是不带协调解决方案(例如Kubernetes或Swarm)的普通Docker容器。 如果您的容器已经在运行,则取决于:

不安装音量

如果要将文件复制到没有要在其中复制文件的卷的现有容器中,则只能通过shellcommand运行docker cp command ,例如:

- name: Copy file into existing container at /path/in/the/container/kapaci
  shell: docker cp /etc/kapacitor/kapaci tick_kapacitor:/path/in/the/container/kapaci

装在容器中的容器中

如果您已经有从计算机装入容器的卷,则可以直接在计算机装入点复制文件。 例如,如果容器具有从/var/myapp/data装载到/path/in/the/container ,则可以使用template将文件直接以其装载的卷复制到容器中:

name: kapacitor conf 
template: 
  src: /home/debian/roles/tick_install/files/kapacitor.conf
  dest: /var/myapp/data/kapacitor.conf
  # will be available in container at /path/in/the/container

运行一个新的容器

如果你想获得亚军新的容器,你可以使用docker_container模块或运行命令( docker rundocker-compose up... ...),这将运行容器中,然后将该文件复制到使用的一个是前面提到的解决方案。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM