gpt4 book ai didi

file - ansible playbook 复制文件到 docker 容器

转载 作者:行者123 更新时间:2023-12-02 19:27:12 24 4
gpt4 key购买 nike

我想使用 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 容器。如果您的容器已经在运行,这将取决于:

未安装卷

如果您想将文件复制到一个现有容器中,该容器没有安装您希望复制文件的卷,我认为除了运行 docker cp 之外别无他法。通过 shell 命令或 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... ...),它将运行您的容器,然后使用前面提到的解决方案之一将文件复制到其中。

关于file - ansible playbook 复制文件到 docker 容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55166026/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com