Skip to content
This repository has been archived by the owner on Nov 30, 2023. It is now read-only.

UID in client is only adapted if switched to non-root via name but not if switched via UID in dockerfile. #1731

Open
user1584 opened this issue Mar 27, 2023 · 0 comments

Comments

@user1584
Copy link

  • 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:

  1. 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}
  1. Start devcontainer with
{
  "build": {
    "dockerfile": "Dockerfile",
    "target": "test"
  },
  "runArgs": [
    "--rm"
  ]
}
  1. Check the UID of the User within the devcontainer via id. If switching to the non-root user via USER ${NON_ROOT_USER}, you should get the UID of the user from the host. If switching via USER ${NON_ROOT_UID}, the UID will remain at 1000.
@user1584 user1584 changed the title UID is only adapted if non-root user is set using name but not if set via uid. UID in client is only adapted if switched to non-root via name but not if switched via UID in dockerfile. Mar 27, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant