VSCode docker remote development environment template collections.
This project has been under development yet. The specifications would be changed disruptively in the future.
- Splitting environments between development base shell container and runtime containers.
- Establishing high configurable container development environment.
- Managing extensions with code-base and in the container sandbox.
- Absorbing the differences between between host machines (e.g. Linux, MacOS, Windows...) and ensuring portability & reproducibility.
- VSCode
- Docker (with Docker Buildkit)
- (optional) Make
- Install all of the Requirements.
- Prepare
museum-collections
files for museum templates. For example, check out this repository: museum-collections . - Prepare
.env
file to specify the go build config parameters. e.g.GOOS='linux' GOARCH='amd64'
- Run commands below.
make build
- Create
.devcontainer
directory &skeleton.yml
in the directory.skeleton.yml
example is below.--- arguments: vscode_devcontainer: project_name: test project. attach_service: base_shell docker_compose: project_prefix: museum_dev files: - ../src/docker-compose.yml - ./docker-compose.yml vscode_extension_volumes: normal: vscode-extensions insider: vscode-insider-extensions collections: path: ../../museum-collections list: - path: ./base_shell
- Run
mix
command giving input and output base.devcontainer
directory as argument. This command will generate merged multiple.devcontainer/seed.yml
(s) from.devcontainer/skeleton.yml
!./bin/museum mix test_project/.devcontainer
- Check generated
.devconainer/seed.yml
out! This is a blue print ofdevcontainer.json
&docker-compose.yml
for VSCode Remote Development for Docker. Fix it at your preference. - Run
deploy
command giving input and output base.devcontainer
directory as argument. This command will generate canonical.devcontainer/devcontainer.json
&.devcontainer/docker-composer.yml
from.devcontainer/seed.yml
!./bin/museum deploy test_project/.devcontainer
- Check generated
.devconainer/devcontainer.json
&.devcontainer/docker-compose.yml
out!