Open3
VSCode Remote Container メモ
dotenvファイルから環境変数を読み込む
.devcontainer/devcontainer.json
{
"runArgs": [
"--env-file",
".env"
]
}
AWS CLI/SDKの使用やSSH(およびGit)アクセスの為のローカルディレクトリのマウント
.devcontainer/devcontainer.json
{
"mounts": [
"source=${localEnv:HOME}${localEnv:USERPROFILE}/.aws,target=/home/node/.aws,type=bind,consistency=cached",
"source=${localEnv:HOME}${localEnv:USERPROFILE}/.ssh,target=/home/node/.ssh,type=bind,consistency=cached"
],
}
Docker Composeを使っている場合はdevcontainer.json
では指定できないのでdocker-compose.yml
で指定する。
.devcontainer/docker-compose.yaml
volumes:
- ..:/workspace:cached
- ~/.aws:/home/node/.aws:cached
- ~/.ssh:/home/node/.ssh:cached
Remote Container内でDockerを起動したい場合はDocker in Dockerを使う。
Docker from Docker(Docker outside of Docker)というDocker上からローカルマシンのDockerデーモンにアクセスし子ではなく兄弟としてDockerを立ち上げることもできる。
Docker上からボリュームのマウントを行う場合はローカルマシン上でのファイルパスを指定する必要があるので注意する。
環境変数を使えばDocker上/ローカルマシンどちらで実行している場合も利用ができる。dev containerを使っている/いないメンバーが混在している場合はこの対応が必要になる。
volumes:
- ${WORK_DIR}/path:/path