gpt4 book ai didi

bash - 为什么在docker-machine VM中创建文件会导致权限被拒绝?

转载 作者:行者123 更新时间:2023-12-02 20:15:10 25 4
gpt4 key购买 nike

我想在使用docker-machine创建的虚拟机中通过SSH如下创建文件/etc/docker/daemon.json,方法如下

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 ...

在将来。

关于bash - 为什么在docker-machine VM中创建文件会导致权限被拒绝?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43951814/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com