You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Description
Something like #29342 ,but the same problem in the latest docker-ce 17.09.1-ce version.
Steps to reproduce the issue:
1.Build a image use other user, like USER apps
2.Enable docker with live-restore=true
3.Add MountFlags=slave into systemd docker.service configure , restart docker daemon service
4.Run a container with last image
5.Use docker exec to run some command in this container, such as docker exec -it test id. it's ok.
6.Restart docker daemon
7.Run the same command in step 5 again. docker exec -it test id then get failed.
Describe the results you received:
# docker exec -it test id
unable to find user apps: no matching entries in passwd file
Describe the results you expected:
# docker exec -it test id
uid=500(apps) gid=500(apps) groups=500(apps)
Additional information you deem important (e.g. issue happens only occasionally):
According to the #29365#29459 pull request.
Adds the daemon.Mount during the restore to bring up the container.BaseFS. Can resolve docker exec -u user problem , but not all right.
When docker stop container , will get warning log:
level=warning msg="error locating sandbox id 78e584163857ff32f41b741e9cea89bcac15cbf9ac75843bfb54d64c1dfb7688: sandbox 78e584163857ff32f41b741e9cea89bcac15cbf9ac75843bfb54d64c1dfb7688 not found"
level=warning msg="failed to cleanup ipc mounts:\nfailed to umount /var/lib/docker/containers/a015cba4cb78c224d145df78d7bbd96fff70437f88df310d0708913f645a285f/shm: invalid argument"
Uncomment MountFlags=slave or change to MountFlags=shared also avoid this problem. But then will produce another issue: When docker rm, the container cannot exit. Because container's overlay work directory report device busy,
Output of docker version:
# docker -v
Docker version 17.09.1-ce, build 19e2cf6
# dockerd -v
Docker version 17.09.1-ce, build 19e2cf6
This is expected behavior. You must use shared propagation with live restore.
Note that issues with removal with shared propagation are fixed in 17.12.1 and up.
This is a known issue that can't really be fixed with live restore because the mounts exist in a different mount namespace when using systemd's mount propagation settings.
It is recommended to use shared mount propagation in all cases, but is absolutely necessary for live-restore.
It is likely that this information is missing from the docs.
Description
Something like #29342 ,but the same problem in the latest docker-ce 17.09.1-ce version.
Steps to reproduce the issue:
1.Build a image use other user, like
USER apps
2.Enable docker with
live-restore=true
3.Add
MountFlags=slave
into systemd docker.service configure , restartdocker daemon
service4.Run a container with last image
5.Use
docker exec
to run some command in this container, such asdocker exec -it test id
. it's ok.6.Restart docker daemon
7.Run the same command in step 5 again.
docker exec -it test id
then get failed.Describe the results you received:
Describe the results you expected:
Additional information you deem important (e.g. issue happens only occasionally):
According to the #29365 #29459 pull request.
Adds the
daemon.Mount
during the restore to bring up thecontainer.BaseFS
. Can resolvedocker exec -u user
problem , but not all right.When
docker stop container
, will get warning log:Uncomment
MountFlags=slave
or change toMountFlags=shared
also avoid this problem. But then will produce another issue: Whendocker rm
, the container cannot exit. Because container's overlay work directory report device busy,Output of
docker version
:Output of
docker info
:Additional environment details (AWS, VirtualBox, physical, etc.):
The text was updated successfully, but these errors were encountered: