Question
docker-tcp.socket fails on coreos
I’m on CoreOS stable (1010.6.0).
Whenever I reboot the droplet, I always get this error message:
Failed Units: 1
docker-tcp.socket
Then if I issue:
journalctl -b -u docker-tcp.socket
-- Logs begin at Fri 2016-06-17 18:51:06 UTC, end at Fri 2016-07-08 06:42:55 UTC. --
Jul 08 06:33:24 coreos-512mb-nyc2-01 systemd[1]: docker-tcp.socket: Failed to listen on sockets: Cannot assign requested address
Jul 08 06:33:24 coreos-512mb-nyc2-01 systemd[1]: Failed to listen on Docker Socket for the API.
Jul 08 06:33:24 coreos-512mb-nyc2-01 systemd[1]: docker-tcp.socket: Unit entered failed state.
Jul 08 06:33:24 coreos-512mb-nyc2-01 systemd[1]: docker-tcp.socket: Failed to listen on sockets: Cannot assign requested address
Jul 08 06:33:24 coreos-512mb-nyc2-01 systemd[1]: Failed to listen on Docker Socket for the API.
I followed the procedure to enable the docker-tcp socket here:
https://coreos.com/os/docs/latest/customizing-docker.html
For now, if I stop docker.service manually, and start docker-tcp.socket first, then I can start docker.service without any problem. But, I must do this after each reboot, which is not terrible.
I would like to fix this error, so that my droplet boots correctly (and the docker-tcp.socket gets started without any error).
Here’s my docker-tcp.socket:
[Unit]
Description=Docker Socket for the API
Before=docker.service
[Socket]
ListenStream=172.17.0.1:2375
BindIPv6Only=both
Service=docker.service
[Install]
WantedBy=sockets.target
Here’s my docker.service:
[Unit]
Description=Docker Application Container Engine
Documentation=http://docs.docker.com
After=docker.socket early-docker.target network.target
Requires=docker.socket early-docker.target
[Service]
Environment="DOCKER_CGROUPS=--exec-opt native.cgroupdriver=systemd"
EnvironmentFile=-/run/flannel_docker_opts.env
MountFlags=slave
LimitNOFILE=1048576
LimitNPROC=1048576
ExecStart=/usr/lib/coreos/dockerd daemon --host=fd:// --insecure-registry 0.0.0.0:5000 $DOCKER_OPTS $DOCKER_CGROUPS $DOCKER_OPT_BIP $DOCKER_OPT_MTU $DOCKER_OPT_IPMASQ
[Install]
WantedBy=multi-user.target
What’s wrong with my setup, and how would I ensure that docker-tcp.service gets loaded before docker.service?
These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.
×
Can you add your cloud-config as well?
It should look like that - with the docker-tcp.socket set to start and be enabled.