docker / dev-environments

62 stars 32 forks source link

Custom containers silently fail without `docker` group #81

Open Phuurl opened 2 years ago

Phuurl commented 2 years ago

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

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

4.3.1 (72247)
felipecruz91 commented 2 years ago

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

glours commented 2 years ago

Hello @Phuurl

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

arianitu commented 1 year ago

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?