【发布时间】:2019-07-15 06:05:22
【问题描述】:
我已经在我的机器上执行了一个 ansible 脚本。是做什么的
1.将文件从我的机器复制到远程机器上运行的docker容器
file.pb
2.在 docker 容器上执行命令。该命令使用复制的文件并对其进行签名。
这是命令
peer channel signconfigtx -f file.pb
现在我想再次将这个签名的文件复制到另一台机器上,然后在它现在所在的 docker 容器中使用相同的 ansible 脚本对其进行签名。
我想试试SCP,但不确定它是如何工作的,因为它会要求输入密码。
谁能建议我如何做到这一点?
编辑:
我尝试在本地机器上从远程服务器获取文件,但出现以下错误
致命:[user1]:失败! => {"msg": "无法创建本地 目录(/home/dhiraj/ansible_practise/playlist/fetched/user1/home/user1/Documents/Blockchain/network/scripts): [Errno 20] 不是目录: '/home/dhiraj/ansible_practise/playlist/fetched/user1'"}
下面是我的 ansible 脚本
- name: Fetching a file from remote server
fetch:
src: "/home/user1/Documents/Blockchain/network/scripts/file.pb"
dest: fetched
【问题讨论】:
-
如果您为主机配置无密码密钥身份验证,SCP 不会要求输入密码。
-
运行
mkdir fetched以创建 destdest: fetched。你想scp files to / fromdocker 容器运行在哪台机器上?相同的ansible server或remote machine?正在运行的docker image是什么?您将需要该映像中的 ssh 服务器。请使用这些详细信息更新问题。但是,我建议在主机(运行 docker 容器的地方)中使用persistent volume并使用它,而不是复杂化。 -
已经创建了 'fetched' 文件夹。 docker 容器正在远程机器上运行,我可以访问它。我可以访问挂载到 docker 容器的目录。