我想在使用 docker-machine 创建的 vm 中创建文件 /etc/docker/daemon.json 通过 SSH 进入它,如下所示
docker-machine ssh manager1 "sudo echo \"{ \"insecure-registries\":[\"192.168.100.99:5000\"] }\" >| /etc/docker/daemon.json"
以上失败并显示消息
sh: can't create /etc/docker/daemon.json: Permission denied
由于我需要将其放置在非交互式 bash 脚本中,因此如何实现与我尝试执行的操作类似的方法。
您的命令以 root 身份运行 echo,但输出由以您的用户身份运行的 shell 重定向处理。尝试使用以下管道使用 sudo 运行 tee:
docker-machine ssh manager1 "echo \"{ \\\"insecure-registries\\\":[\\\"192.168.100.99:5000\\\"] }\" \
| sudo tee /etc/docker/daemon.json"
注意我还把你的 echo 中的引号转义了一次,否则引号会被 shell/echo 命令吃掉。
对于这个特定的用例,我建议您使用以下方法创建您的机器:
docker machine create --engine-insecure-registry 192.168.100.99:5000 ...
将来。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句