Running containers with external ports e.g. docker run -p 80:80 nginx:alpine via slirp4netns gives the error:
docker: Error response from daemon: driver failed programming external connectivity on endpoint hopeful_sutherland (8c9b3947fc854769b2556cdefbd45da23091f883681ec8113eefa3c1b4c49876): Timed out proxy starting the userland proxy.
Originally experienced this error when running on a machine that I had upgraded docker 20.10.5 to .6 with slirp4netns 1.1.9. After the upgrade my Traefik container wouldn't start up.
Things I have tried:
Downgraded to 20.10.5 (using slirp4netns) and everything worked again.
Upgraded to 20.10.6 and change driver to 'builtin' and works fine
Provisioned fresh VPS with 20.10.6 and slirp4nets 1.1.9 and still received same error. See below:
mark@vultr:~$ docker -v
Docker version 20.10.6, build 370c289
mark@vultr:~$ slirp4netns -v
slirp4netns version 1.1.9
commit: 4e37ea557562e0d7a64dc636eff156f64927335e
libslirp: 4.4.0
SLIRP_CONFIG_VERSION_MAX: 3
libseccomp: 2.3.3
mark@vultr:~$ docker run -p 80:80 nginx:alpine
Unable to find image 'nginx:alpine' locally
alpine: Pulling from library/nginx
540db60ca938: Pull complete
197dc8475a23: Pull complete
39ea657007e5: Pull complete
37afbf7d4c3d: Pull complete
0c01f42c3df7: Pull complete
d590d87c9181: Pull complete
Digest: sha256:07ab71a2c8e4ecb19a5a5abcfb3a4f175946c001c8af288b1aa766d67b0d05d2
Status: Downloaded newer image for nginx:alpine
docker: Error response from daemon: driver failed programming external connectivity on endpoint hopeful_sutherland (8c9b3947fc854769b2556cdefbd45da23091f883681ec8113eefa3c1b4c49876): Timed out proxy starting the userland proxy.
ERRO[0017] error waiting for container: context canceled
If I change the driver to 'builtin' (using nano) and restart the docker service, you can see that it works again.
mark@vultr:~$ nano ~/.config/systemd/user/docker.service
mark@vultr:~$ systemctl --user daemon-reload
mark@vultr:~$ systemctl --user restart docker
mark@vultr:~$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
mark@vultr:~$ docker run -p 80:80 nginx:alpine
/docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
/docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
/docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
10-listen-on-ipv6-by-default.sh: info: Getting the checksum of /etc/nginx/conf.d/default.conf
10-listen-on-ipv6-by-default.sh: info: Enabled listen on IPv6 in /etc/nginx/conf.d/default.conf
/docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh
/docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh
/docker-entrypoint.sh: Configuration complete; ready for start up
Running containers with external ports e.g. docker run -p 80:80 nginx:alpine via slirp4netns gives the error:
docker: Error response from daemon: driver failed programming external connectivity on endpoint hopeful_sutherland (8c9b3947fc854769b2556cdefbd45da23091f883681ec8113eefa3c1b4c49876): Timed out proxy starting the userland proxy.
Originally experienced this error when running on a machine that I had upgraded docker 20.10.5 to .6 with slirp4netns 1.1.9. After the upgrade my Traefik container wouldn't start up.
Things I have tried:
If I change the driver to 'builtin' (using nano) and restart the docker service, you can see that it works again.