File ansible playbook将文件复制到docker容器
我想使用ansible playbook将文件复制到docker容器。 我该怎么做File ansible playbook将文件复制到docker容器,file,docker,ansible,copy,File,Docker,Ansible,Copy,我想使用ansible playbook将文件复制到docker容器。 我该怎么做 - name: kapacitor conf template: src=/home/debian/roles/tick_install/files/kapacitor.conf dest=/etc/kapacitor/kapaci 我假设您使用的是一个普通的Docker容器,没有经过协调的解决方案(如Kubernetes或Swarm)。如果您的容器已在运行,这将取决于: 未安装卷的情况下 如果您想将文件
- name: kapacitor conf
template: src=/home/debian/roles/tick_install/files/kapacitor.conf dest=/etc/kapacitor/kapaci
我假设您使用的是一个普通的Docker容器,没有经过协调的解决方案(如Kubernetes或Swarm)。如果您的容器已在运行,这将取决于: 未安装卷的情况下 如果您想将文件复制到一个现有容器中,而该容器中没有安装要复制文件的卷,我认为除了通过
shell
或命令运行docker cp
命令外,没有其他方法,例如:
- 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/container
的卷,则可以使用模板
将文件直接复制到其装载卷所在的容器中:
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 run
,docker compose up…
),该命令将运行容器,然后使用前面提到的解决方案之一将文件复制到其中。是否可以使用“svolumes
设置来插入文件?这将是一个更典型的Docker设置。
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