Docker 无法加载配置文件,但容器工作正常
Docker can't load config file, but container works fine
我正在使用 docker-machine 和 generic driver 在现有的远程主机上部署容器。但是当我切换到远程主机并尝试 运行 一个容器时,会发生这种情况:
$ docker-machine create --driver generic --generic-ip-address=$REMOTEIP \
--generic-ssh-key ~/.ssh/id_rsa --generic-ssh-user $REMOTEUSER vm
[works fine]
$ eval $(docker-machine env vm) #switch to remote host
[works fine]
$ docker run -it busybox sh
WARNING: Error loading config file:/home/user/.docker/config.json - open /home/user/.docker/config.json: permission denied
[Even with the warning, runs fine]
容器 运行 无论如何都很好,但我想解决该警告消息。
鉴于 user
不存在于远程主机中,我猜测该文件不存在。但是..
1) 为什么引擎首先搜索它?它不应该搜索 $REMOTEUSER
的 config.json 而不是那个吗?
2) 以及为什么容器 运行 无论如何都在远程主机上正常运行?
Docker 不是在远程主机中而是在本地主机中搜索该文件。事实证明该文件存在并且归 root 所有。
$ ls -lsa ~/.docker/config.json 4 -rw------- 1 root root \
95 dic 29 15:29 /home/user/.docker/config.json
这就是为什么它说 permission denied
。
一个简单的 chown 解决了这个问题:
$ sudo chown user:user /home/user/.docker -R
我正在使用 docker-machine 和 generic driver 在现有的远程主机上部署容器。但是当我切换到远程主机并尝试 运行 一个容器时,会发生这种情况:
$ docker-machine create --driver generic --generic-ip-address=$REMOTEIP \
--generic-ssh-key ~/.ssh/id_rsa --generic-ssh-user $REMOTEUSER vm
[works fine]
$ eval $(docker-machine env vm) #switch to remote host
[works fine]
$ docker run -it busybox sh
WARNING: Error loading config file:/home/user/.docker/config.json - open /home/user/.docker/config.json: permission denied
[Even with the warning, runs fine]
容器 运行 无论如何都很好,但我想解决该警告消息。
鉴于 user
不存在于远程主机中,我猜测该文件不存在。但是..
1) 为什么引擎首先搜索它?它不应该搜索 $REMOTEUSER
的 config.json 而不是那个吗?
2) 以及为什么容器 运行 无论如何都在远程主机上正常运行?
Docker 不是在远程主机中而是在本地主机中搜索该文件。事实证明该文件存在并且归 root 所有。
$ ls -lsa ~/.docker/config.json 4 -rw------- 1 root root \
95 dic 29 15:29 /home/user/.docker/config.json
这就是为什么它说 permission denied
。
一个简单的 chown 解决了这个问题:
$ sudo chown user:user /home/user/.docker -R