Created
March 24, 2017 09:00
-
-
Save piotrplenik/b39e11521452129af2af85cc855c91d7 to your computer and use it in GitHub Desktop.
Turn on Docker Remote API on Ubuntu (on port 2375)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# File: etc/default/docker | |
# Use DOCKER_OPTS to modify the daemon startup options. | |
#DOCKER_OPTS="" | |
DOCKER_OPTS="--dns 8.8.8.8 --dns 8.8.4.4 -H tcp://127.0.0.1:2375 -H unix:///var/run/docker.sock" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# File: /lib/systemd/system/docker.service | |
## Add EnviromentFile + add "$DOCKER_OPTS" at end of ExecStart | |
## After change exec "systemctl daemon-reload" | |
EnvironmentFile=/etc/default/docker | |
ExecStart=/usr/bin/dockerd -H fd:// $DOCKER_OPTS |
Cannot work well using the method above; but I find another Blog and it fixed my problem: https://success.docker.com/article/how-do-i-enable-the-remote-api-for-dockerd
Cannot work well using the method above; but I find another Blog and it fixed my problem: https://success.docker.com/article/how-do-i-enable-the-remote-api-for-dockerd
It works, but why IPv6?
In summary, you need to edit the file: /lib/systemd/system/docker.service
Instead of: tcp://127.0.0.1:2375
, use the host IP address, for example: tcp://192.168.1.100:2375
.
Then execute:
systemctl daemon-reload
systemctl restart docker
Remember that setting remote access is not recommended, as someone could gain root access to the host.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Just landed here while researching the exact same topic.
It's not enough to execute
systemctl daemon-reload
(according to its manpage), as it only reloads systemctl's configuration but running services remain untouched. However, I recognized that executingsystemctl restart docker
seems to be sufficient to make dockerd listen on the TCP port.An another note: At least for 16.04, the service description (docker.service) already takes the DOCKER_OPTS defined in /etc/default/docker into account. It's therefore not necessary to change /lib/systemd/system/docker.service