Search code examples
dockervisual-studio-codedebiandockerfilevscode-remote

Run vscode in docker


I want to run vscode in docker for internal test, i've created the following

FROM debian:stable

RUN apt-get update && apt-get install -y apt-transport-https curl gpg
RUN curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg \
 && install -o root -g root -m 644 microsoft.gpg /etc/apt/trusted.gpg.d/ \
 && echo "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main" > /etc/apt/sources.list.d/vscode.list
RUN apt-get update && apt-get install -y code libx11-xcb-dev libasound2


RUN code --user-data-dir="~/.vscode-root"

I use to build

docker build -t vscode .

I use to run docker run vscode code -v
when I run it like this I got error

You are trying to start vscode as a super user which is not recommended. If you really want to, you must specify an alternate user data directory using the --user-data-dir argument.

I just want to verify it by running something like RUN code -v how can I do it ?

should I change the user ? I just want to run vscode in docker and use some vscode apis


Solution

  • Have you tried using VSCode's built in functionality for developing in a container?

    Checkout this page which describes how to do this:

    Developing inside a Container

    You can try out some of the sample container configurations provided by VSCode and use any of those devcontainer.json files as an example to configure a custom development container to your liking. According to the page above:

    Workspace files are mounted from the local file system or copied or cloned into the container. Extensions are installed and run inside the container, where they have full access to the tools, platform, and file system. This means that you can seamlessly switch your entire development environment just by connecting to a different container.

    This is a very handy way to have different environments for development that are isolated within the container.