2017-01-05 10 views
0

私はgeneric driverのdocker-machineを使用して、既存のリモートホストにコンテナを展開しています。しかし、私は、リモートホストに切り替えて、コンテナを実行しようとすると、この問題が発生した:Dockerは設定ファイルを読み込めませんが、コンテナは正常に動作します

$ 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)なぜ、コンテナがリモートホスト上で正しく動作するのでしょうか?

答えて

0

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 
関連する問題