- remove Windows without WSL step
- update 'remote containers extension' to 'dev containers extension'
- remove invalid warning on directories creation
- simplify customizations section
- remove "publish a port" since it can be done at runtime now
- remove "run other services" since it's rather unneeded in this case
- expand documentation on custom welcome script and where to specify the bind mount
- use bullet points instead of subsections headings
Development container
Development container that can be used with VSCode.
It works on Linux, Windows (WSL2) and OSX.
Requirements
- VS code installed
- VS code dev containers extension installed
- Docker installed and running
- Docker Compose installed
Setup
-
Create the following files on your host if you don't have them:
touch ~/.gitconfig ~/.zsh_history -
For OSX hosts: ensure your home directory
~is accessible by Docker. -
Open the command palette in Visual Studio Code (CTRL+SHIFT+P).
-
Select
Dev-Containers: Open Folder in Container...and choose the project directory.
Customization
For customizations to take effect, you should "rebuild and reopen":
- Open the command palette in Visual Studio Code (CTRL+SHIFT+P)
- Select
Dev-Containers: Rebuild Container
Customizations available are notably:
-
Changes to the Docker image in Dockerfile
-
Changes to VSCode settings and extensions in devcontainer.json.
-
Change the entrypoint script by adding in docker-compose.yml a bind mount to a shell script to
/root/.welcome.shto replace the current welcome script. For example:volumes: # ... - ./.welcome.sh:/root/.welcome.sh:ro # ... -
Change the docker container configuration in docker-compose.yml.
-
More customizations available are documented in the devcontainer.json reference.