Open nevinsm opened 5 years ago
Hopefully this will help to narrow it down, and I forgot to put it in the issue, but if I downgrade to 18.09.8 it all works fine. Thanks for all the great work, and for Docker in general.
/cc @estesp @akihirosuda
I'm curious why userns-remap is affecting daemon startup, as the daemon itself has root privilege in this instance, and shouldn't be limited in interacting with bridges, etc. However, clearly there is some interplay, and sounds like it was related to a change since 18.09.8. Any chance someone from libnetwork team can look at any changes in that window for bridge configuration? I'm still puzzled how userns-remap is interacting with that part of daemon startup.
@nevinsm downgrading to 18.09.8 (the working case) is on this same server with the exact same flags to the engine?
@nevinsm it would help if you ran dockerd
with -D
and shared the debug logs
@estesp yup, the downgrade to 18.09.8 was performed on the same server with the same flags passed to the engine.
@arkodg I can get some debug logs tomorrow most likely.
Sorry for the delay in response, I will see about tweaking my notification settings so I see updates from github sooner.
@eptesp @arkodg Sorry for the delay, it took awhile before I was able to pull that machine back out of production. Here are the debug logs. docker-debug-logs.txt
@nevinsm you're most likely hitting https://github.com/moby/moby/issues/39608
Expected behavior
I am able to start a daemon with the --bridge=custombridge flag set so that the daemon uses a custom bridge network when using the userns-remap, and group flags
Actual behavior
The daemon doesn't start and errors with: "failed to start daemon: Error initializing network controller: error obtaining controller instance"
Steps to reproduce the behavior
0) Have an Ubuntu 18.04 server install
1) Add a bridge via the following yaml file located at /etc/netplan/bridges.yaml, then running
sudo netplan apply
2) Create a user for the daemon
sudo adduser test
3) Ensure the subuid and subgid mappings are in place (use these commands to add the lines if they don't exist already):
4) Create a directory for the daemon in the users home directory
sudo mkdir /home/test/docker
5) Attempt to start the daemon with:
Output of
docker version
:Output of
docker info
:Additional environment details (AWS, VirtualBox, physical, etc.) Physical server