vscode-dev-containers
vscode-dev-containers copied to clipboard
UID in client is only adapted if switched to non-root via name but not if switched via UID in dockerfile.
- VSCode Version: 1.74.3
- Local OS Version: Ubuntu 20.04
- Local chip architecture: x86
- Reproduces in: Remote - Containers
- Name of Dev Container Definition with Issue:
Steps to Reproduce:
- In the client, create a non-root user and switch to non-root user via UID instead of the user name
FROM ubuntu AS test
ARG NON_ROOT_USER=non_root_user
ARG NON_ROOT_UID=1000
ARG NON_ROOT_GID=100
USER root
# Create non-root user
RUN useradd \
--no-log-init \
--no-user-group \
--shell /bin/bash \
--create-home \
--uid ${NON_ROOT_UID} \
--gid ${NON_ROOT_GID} \
${NON_ROOT_USER}
# This works:
# USER ${NON_ROOT_USER}
# This does not work:
USER ${NON_ROOT_UID}
- Start devcontainer with
{
"build": {
"dockerfile": "Dockerfile",
"target": "test"
},
"runArgs": [
"--rm"
]
}
- Check the UID of the User within the devcontainer via
id. If switching to the non-root user viaUSER ${NON_ROOT_USER}, you should get the UID of the user from the host. If switching viaUSER ${NON_ROOT_UID}, the UID will remain at 1000.