Closed4
Dev Container configuration '.devcontainer/devcontainer.json' file already exists. が発生する
事象
VSCode で Dev Container を利用しようと、Dev Container: Reopen in Container
を実行した際に下記のエラーメッセージが発生した。
Dev Container configuration '.devcontainer/devcontainer.json' file already exists.
環境
- Apple M1 (M1 Mac)
- macOS Ventura 13.4.1(22F82)
- VSCode 1.85.1
Dev Container 関連のファイル
.devcontainer
├── devcontainer.json
├── docker-compose.yml
└── flutter
└── Dockerfile
.devcontainer/devcontainer.json
{
"name": "dev container",
"dockerComposeFile": "docker-compose.yml"
}
.devcontainer/docker-compose.yml
version: '3.8'
services:
devcontainer:
build:
context: .
dockerfile: flutter/Dockerfile
volumes:
- ../..:/workspaces:cached
command: sleep infinity
env_file:
- flutter/.flutter.env
.devcontainer/Dockerfile
# 1: Base image
FROM dart:2.17-sdk
# Maintainer
LABEL maintainer="XXX <xxx@example.com>"
# Workdir
WORKDIR /workspace/xxx
# 2: Install Flutter
ARG PATH=/root/.pub-cache/bin:$PATH
ARG FLUTTER_VERSION=3.0.1
RUN dart pub global activate melos --verbose && \
dart pub global activate fvm --verbose && \
fvm doctor --verbose && \
fvm install $FLUTTER_VERSION --verbose && \
fvm use --force $FLUTTER_VERSION --verbose && \
fvm flutter config --enable-web --enable-linux-desktop --enable-macos-desktop --enable-windows-desktop --enable-android --enable-ios --enable-fuchsia && \
# fvm flutter precache --verbose && \
fvm flutter doctor --verbose
# Set paths
ENV FVM_ROOT=/root/.pub-cache
ENV PATH $FVM_ROOT/bin:$PATH
原因
devcontainer.json
のプロパティが足りない
対応
docker-compose.yml
を利用する場合はdevcontainer.json
に下記プロパティを足す
service
workspaceFolder
.devcontainer/devcontainer.json
{
"name": "dev container",
"dockerComposeFile": "docker-compose.yml",
"service": "devcontainer",
"workspaceFolder": "/workspaces/${localWorkspaceFolderBasename}"
}
service
にはdocker-compose.yml
で指定したサービス名をつけること
再び、Dev Container: Reopen in Container
を実行すると、無事コンテナが起動した :)
このスクラップは2024/01/14にクローズされました