Ansible docker 模块缺少 CP 命令?
Ansible docker module missing CP command?
docker 客户端提供 cp 子命令,如 here 所述,这在需要将文件复制到容器中时非常方便(注意:这有点类似于图像构建中的 Dockerfile ADD 指令)。在 Docker 1.8 中,cp 命令甚至扩展了一点。
但是看了Ansible docker module documentation,好像少了这个?这是我的 2 个问题:
- 我是不是误解了 Ansible 文档?
- 如果 Ansible 缺少 cp 东西,有没有人找到解决方法?我可以想到使用 Ansible copy module 首先将文件传输到远程机器,然后 运行 本地 docker 客户端 cp,但理想情况下 Ansible 的 docker 模块会作为 docker 模块的一部分一次性完成此操作?
提前致谢。
- 你没有。 Ansible 的 docker 模块不支持从容器中复制文件或文件夹。
- 没有简单的方法可以做到这一点。我的意思是你需要一个黑客。在我的脑海中,您可以使用 docker
cp
选项的“-”参数。
然而,从我的角度来看,如果您想将某些内容复制到容器中,您可能做错了什么。容器应该是短暂的。
您也可以使用同步命令~本link中提供的示例:
http://opensolitude.com/2015/05/26/building-docker-images-with-ansible.html
使用 ansible shell
模块帮助:
- name: copy db dump to localhost
ansible.builtin.shell: docker cp container:/tmp/dump.sql /tmp/dump.sql
docker 客户端提供 cp 子命令,如 here 所述,这在需要将文件复制到容器中时非常方便(注意:这有点类似于图像构建中的 Dockerfile ADD 指令)。在 Docker 1.8 中,cp 命令甚至扩展了一点。
但是看了Ansible docker module documentation,好像少了这个?这是我的 2 个问题:
- 我是不是误解了 Ansible 文档?
- 如果 Ansible 缺少 cp 东西,有没有人找到解决方法?我可以想到使用 Ansible copy module 首先将文件传输到远程机器,然后 运行 本地 docker 客户端 cp,但理想情况下 Ansible 的 docker 模块会作为 docker 模块的一部分一次性完成此操作?
提前致谢。
- 你没有。 Ansible 的 docker 模块不支持从容器中复制文件或文件夹。
- 没有简单的方法可以做到这一点。我的意思是你需要一个黑客。在我的脑海中,您可以使用 docker
cp
选项的“-”参数。
然而,从我的角度来看,如果您想将某些内容复制到容器中,您可能做错了什么。容器应该是短暂的。
您也可以使用同步命令~本link中提供的示例:
http://opensolitude.com/2015/05/26/building-docker-images-with-ansible.html
使用 ansible shell
模块帮助:
- name: copy db dump to localhost
ansible.builtin.shell: docker cp container:/tmp/dump.sql /tmp/dump.sql