3

私の出発点は次のとおりです。

そのため、 DOCKER_OPTS変数の 2 つのオカレンスを編集/etc/init/docker.confして更新し、次のようにします。

DOCKER_OPTS='-H tcp://0.0.0.0:4243 -H unix:///var/run/docker.sock'

次に、docker イメージを一覧表示する簡単なテストが失敗します。

$ service docker restart
$ curl -X GET http://10.143.0.218:4243/images/json
curl: (7) Failed to connect to 10.143.0.218 port 4243: Connection refused

Docker のバージョンは次のとおりです。

$ sudo docker version
Client:
 Version:      1.12.3
 API version:  1.24
 Go version:   go1.6.3
 Git commit:   6b644ec
 Built:        Wed Oct 26 19:06:36 2016
OS/Arch:      linux/arm

Server:
 Version:      1.12.3
 API version:  1.24
 Go version:   go1.6.3
 Git commit:   6b644ec
 Built:        Wed Oct 26 19:06:36 2016
 OS/Arch:      linux/arm
4

2 に答える 2

8

解決策は、このページのコメントから来ています: http://www.virtuallyghetto.com/2014/07/quick-tip-how-to-enable-docker-remote-api.html

[2016 年 8 月 18 日午前 6 時] Oliver Weise は次のように述べています。ただし、systemd docker デーモンを備えた Ubuntu 16.04 以降/etc/default/dockerは、有効ではなくなりました。代わりに、systemd ドロップイン ファイルを作成する必要があります。

そのようなファイルを次の場所に置きました。/etc/systemd/system/docker.service.d/remote-api.conf

内容:

[Service]
ExecStart=
ExecStart=/usr/bin/dockerd -H tcp://127.0.0.1:2376 -H unix:///var/run/docker.sock

(はい、二重の ExecStart が必要です)

その後、次のように実行します。

sudo systemctl daemon-reload // reloading daemon definitions
sudo systemctl restart docker
于 2016-11-15T11:55:13.267 に答える
1

これはテストされていませんが、Jessie の場合、デフォルトで systemd を init システム iirc として使用します。これは、デーモン ( dockerd) の構成方法と開始方法に影響します。

あなたは/etc/init/docker.confファイルを編集していますが、それが読み取られたり使用されたりしているとは思いません。

Docker の各 init システムのさまざまな起動手順に関するこの記事と、特定の systemd 構成については、この記事をお読みください。

于 2016-11-14T15:32:51.733 に答える