Docker 在ansible中使用SCP在服务器之间复制文件?
我已经在我的机器上执行了一个ansible脚本。是什么 1.将文件从我的计算机复制到远程计算机上运行的docker容器Docker 在ansible中使用SCP在服务器之间复制文件?,docker,ansible,devops,scp,Docker,Ansible,Devops,Scp,我已经在我的机器上执行了一个ansible脚本。是什么 1.将文件从我的计算机复制到远程计算机上运行的docker容器 file.pb 2.在docker容器上执行命令。该命令使用复制的文件并对其签名 这是命令 peer channel signconfigtx -f file.pb 现在,我想再次将这个已签名的文件复制到另一台机器上,在它从现在所在的docker容器中以相同的ansible脚本进行签名之后 我想试试SCP,但不确定它将如何工作,因为它将询问密码 谁能建议我怎么做 编辑: 我
file.pb
2.在docker容器上执行命令。该命令使用复制的文件并对其签名
这是命令
peer channel signconfigtx -f file.pb
现在,我想再次将这个已签名的文件复制到另一台机器上,在它从现在所在的docker容器中以相同的ansible脚本进行签名之后
我想试试SCP
,但不确定它将如何工作,因为它将询问密码
谁能建议我怎么做
编辑:
我试图在本地机器上从远程服务器获取文件,但我发现以下错误
致命:[user1]:失败!=>{“msg”:“无法创建本地
目录(/home/dhiraj/ansible_practice/playlist/fetched/user1/home/user1/Documents/Blockchain/network/scripts):
[Errno 20]不是目录:
“/home/dhiraj/ansible_practice/playlist/fetched/user1”
下面是我的手稿
- name: Fetching a file from remote server
fetch:
src: "/home/user1/Documents/Blockchain/network/scripts/file.pb"
dest: fetched
还有更多的选择 1) 从docker到另一台机器的scp
- 将Docker上运行scp的用户的公钥置于您在另一台机器上连接的用户的授权密钥
- docker运行时:scp file.pbuser@another_machine:file.pdb
- 从docker到你的机器
- 从您的机器到另一台机器
- 从docker到你的机器
- 在另一台机器上运行playbook,从您的机器上获取文件
4) 在另一台机器上运行scp…而不是直接在服务器之间复制文件。我所做的是使用ansible的
fetch
模块。在fetch中,我只需要定义源路径
和目标路径
这是样品
- name: Fetching a file from remote server
fetch:
src: "{{ DEST }}/Documents/Blockchain/network/scripts/file.pb"
dest: /home/fetched/
flat: yes // it will not create dir strcuture as same as source
validate_checksum: false
如果您将无密码密钥身份验证配置到主机,SCP不会请求密码。运行
mkdir fetched
创建destdest:fetched
。是否要将scp文件发送到运行在哪台机器上的docker容器中?相同的ansible服务器
或远程机器
?正在运行的docker映像是什么?您需要在该映像中使用ssh服务器。请用这些详细信息更新问题。但是,我建议在主机(docker容器运行的地方)中使用持久卷
,并使用它,而不是使之复杂化。已经创建了“获取”文件夹。docker容器正在远程机器上运行&我可以访问它。我能够访问装载到docker容器的目录。请注意,dest
路径必须是一个目录,并且该路径必须以目录分隔符(“/”在“nix系统”上)结束,否则flat
属性将不起作用。