最近、Dockerを1.4から1.5に更新しました(パッケージ_lxc_docker
_を使用)。
それ以来、Dockerデーモンは(すべてのコマンドに対して)次のようなエラーを送信します。
_$ docker version
Client version: 1.5.0
Client API version: 1.17
Go version (client): go1.4.1
Git commit (client): a8a31ef
OS/Arch (client): linux/AMD64
FATA[0000] Error response from daemon: 404 page not found
_
しかし、以前のバージョンのクライアントを使用している場合、すばらしい答えが得られます。
_$ /usr/bin/docker-old version
Client version: 1.4.0
Client API version: 1.16
Go version (client): go1.3.3
Git commit (client): 4595d4f
OS/Arch (client): linux/AMD64
Server version: 1.5.0
Server API version: 1.17
Go version (server): go1.4.1
Git commit (server): a8a31ef
_
これはプロキシ設定のようであり(_HTTP_PROXY
_および_HTTPS_PROXY
_変数がこのサーバーで使用されています)、_解決 _NO_PROXY
_変数を設定することで問題を解決できます。
_$ export NO_PROXY="/var/run/docker.sock"
$ docker version
Client version: 1.5.0
Client API version: 1.17
Go version (client): go1.4.1
Git commit (client): a8a31ef
OS/Arch (client): linux/AMD64
Server version: 1.5.0
Server API version: 1.17
Go version (server): go1.4.1
Git commit (server): a8a31ef
_
この問題本当にがどこから来たか知っていますか?そして、どのようにきれいに解決しますか?
これは1.5の新機能で、docker(Twitterの@icecrime)の人が確認しています。ドキュメントは最新です: https://github.com/docker/docker/pull/10192/files
だから、あなたはそれをきれいに解決する必要はありません。これは、プロキシの背後でdockerを使用する正しい方法です。
この問題の本当の原因を知っていますか?
問題は、Dockerが不必要に(誤って主張する可能性があります)プロキシ(HTTP_PROXY
またはHTTPS_PROXY
環境変数で指定されている場合)を使用してlocal/var/run/docker.sock
のUNIXドメインソケット。
そしてそれをきれいに解決する方法は?
これは、この場合プロキシを使用しないことによるバージョン1.6.0の fixed でした。その結果、/var/run/docker.sock
環境変数にNO_PROXY
を追加する必要がなくなりました。