6

docker 客户端提供了此处解释的cp子命令,这在需要将文件复制到容器中时非常方便(注意:这有点类似于 Dockerfile ADD 映像构建中的指令)。在 Docker 1.8 中,cp命令甚至被扩展了一点。

但是,阅读Ansible docker 模块文档,似乎缺少这个?这是我的2个问题:

  1. 我误解了 Ansible 文档吗?
  2. 如果 Ansible 缺少 cp 的东西,有没有人找到解决方法?我可以想到类似使用 Ansible复制模块 首先将文件传输到远程机器,然后使用cp在那里运行本机 docker 客户端,但理想情况下,Ansible 的 docker 模块会作为 docker 模块的一部分一次性完成?

提前致谢。

4

3 回答 3

4

您还可以使用此链接中提供的同步命令 ~ 示例:

http://opensolitude.com/2015/05/26/building-docker-images-with-ansible.html

于 2015-08-17T15:34:16.000 回答
1
  1. 你没有。Ansible 的 docker 模块不支持从容器中复制文件或文件夹。
  2. 没有简单的方法可以做到这一点。我的意思是你需要一个黑客。在我的脑海中,您可以使用 '-' 参数作为 dockercp选项。

但是,从我的角度来看,如果您希望将某些内容复制到容器中,您可能做错了什么。容器应该是短暂的。

于 2015-08-17T11:54:18.973 回答
1

使用 ansibleshell模块有助于:

  - name: copy db dump to localhost
    ansible.builtin.shell: docker cp container:/tmp/dump.sql /tmp/dump.sql
于 2021-09-09T15:31:35.287 回答