dev-environments icon indicating copy to clipboard operation
dev-environments copied to clipboard

Custom containers silently fail without `docker` group

Open Phuurl opened this issue 3 years ago • 3 comments

Describe the bug Docker Desktop creates unusable environments when using custom containers that do not create the docker group as part of the build.

To Reproduce Steps to reproduce the behavior:

  1. Create a custom dev environment container definition - eg .docker/config.json
    {
      "dockerfile": "Dockerfile.devenv"
    }
    
    .docker/Dockerfile.devenv
    FROM python:3-alpine
    RUN pip3 install cfn-Lint
    RUN cfn-lint --update-specs
    
  2. Create dev environment (tested with using existing folder)
  3. See error (and note step is still marked as successful) image
  4. Move forward assuming everything is fine, and VSCode will be unable to start the container session due to permission denied errors.

This can be resolved by adding in an addgroup step in the Dockerfile - eg

RUN addgroup --system docker

Expected behavior Potential behaviours in order of preference - either: a) Docker Desktop should catch the chown error and transparently create the group if required b) The requirement for having the group present in custom containers should be documented on the dev environemtns guide, and the wizard should detect the chown error and mark the step as failed

Desktop (please complete the following information):

  • OS: Windows 10
  • Version: 21H1

Version of Docker Desktop:
You can find the version by clicking on the About Docker Desktop menu

4.3.1 (72247)

Phuurl avatar Dec 14 '21 18:12 Phuurl

Hi @Phuurl, thanks for opening this issue. We'll get back to you after discussing the issue internally.

felipecruz91 avatar Dec 20 '21 08:12 felipecruz91

Hello @Phuurl

A quick update, we didn't fixed your issue ATM, but we at least improved the documentation for this specific point

glours avatar Mar 01 '22 09:03 glours

Would this potentially cause issues such as https://github.com/docker/dev-environments/issues/137?

Why does it need to change the owner of the Docker Socket?

arianitu avatar Nov 25 '22 17:11 arianitu