やりたいこと
コンテナコマンド内に入ろうとするたびにコマンド操作が面倒なので、
Dev Containersを導入したい。
導入方法
.devcontainer/devcontainer.jsonに下記項目を記載する。
詳しくはリファレンス参照
{ "name": "好きな名前", "dockerComposeFile": "docker-compose.ymlのパス", "service": "サービス名(docker-compose.ymlのサービス名に合わせる)", "workspaceFolder": "コンテナ内のワークスペースフォルダ設定", "customizations": { "vscode":{ "extensions":[拡張機能のIDリスト] } } }
vscodeでコンテナに入る方法
vscodeの左下の青いボタンをクリック
コンテナーでフォルダを開くをクリック(画像の一番下)
コンテナに入ることができる。
サンプル
docker-composeで作成していたPython環境にDevContainerを導入してみる。
- docker-compose.yml
version: '3' services: app: build: . container_name: sns-servey volumes: - .:/app tty: true
- Dockerfile
FROM python:3.6 RUN pip install --upgrade pip RUN mkdir /app WORKDIR /app COPY . . RUN pip3 install -r requirements.txt
- .devcontainer/devcontainer.json
{ "name": "python-container", "dockerComposeFile": "../docker-compose.yml", "service": "app", "workspaceFolder": "/app", "customizations": { "vscode":{ "extensions":[ "ms-python.python" ] } } }
実行結果
想定通りに動いていることを確認
感想
まだまださわりの部分しか理解できていないので、リファレンスを用いて
どのような活用ができるのか、アップデートしていきたい。
今回の内容が参考になったら幸いです。