1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Dev Containerでコンテナ作成が失敗し続ける訳

Last updated at Posted at 2024-10-15

はじめに

VScodeの拡張機能Dev Container本当に便利
だが、新しく環境を作ろうとすると、な・ぜ・かコンテナ作成に失敗し続ける事象が発生していた。
調査をした結果、ホストマシンのフォルダ名が原因だと発覚したため共有する

事象

Dev Containerに必要なファイルを揃え、いざ「リモートで再度開く」を実行すると、docker composeが失敗する

[1938 ms] Start: Run: docker compose --project-name _study_devcontainer -f c:\Users\name\Documents\VScode_dir\適当な名前_study\.devcontainer\docker-compose.yml -f c:\Users\name\AppData\Roaming\Code\User\globalStorage\ms-vscode-remote.remote-containers\data\docker-compose\docker-compose.devcontainer.build-1729002727405.yml build
invalid project name "_study_devcontainer": must consist only of lowercase alpha
numeric characters, hyphens, and underscores as well as start with a letter or n
umber
[2349 ms] Error: Command failed: docker compose --project-name _study_devcontainer -f c:\Users\name\Documents\VScode_dir\適当な名前_study\.devcontainer\docker-compose.yml -f c:\Users\name\AppData\Roaming\Code\User\globalStorage\ms-vscode-remote.remote-containers\data\docker-compose\docker-compose.devcontainer.build-1729002727405.yml build

エラーの原因について

dockerのプロジェクト名の先頭文字は英数字でなければならないが、今回実行されたコマンドのプロジェクト名はアンダーバー_から開始している。プロジェクト名のルールに反しているためエラーが出力されている

プロジェクト名を変更したいが…

Dev Containerが参照しているファイルは.devcontainer/devcontainer.jsonのため、このファイルにプロジェクト名を入力すればいいはず…!
と思い調べてみたが、そのような設定はなさそう

真因調査

今回のように失敗し続けるパターンと一回で成功するパターンがある。失敗パターンのフォルダに成功パターンのファイルを全てコピーして実施してもコンテナ作成は失敗した
すなわち、別の何かを参照してプロジェクト名を決めていると考え、もう一度失敗したコマンドの--project-nameを確認した

[2349 ms] Error: Command failed: docker compose --project-name _study_devcontainer

プロジェクト名の_studyはどこから来ているのか。。。
どこ、から。。。

c:\Users\name\Documents\VScode_dir\適当な名前_study\.devcontainer\docker-compose.yml

親ディレクトリの名前か!!!!

今回の真因

親ディレクトリの名前が「日本語のみ」または「日本語_英語」の場合にプロジェクト名がアンダーバーから始まってしまうようです
名前をhoge_studyにしたらコンテナ作成できました

c:\Users\name\Documents\VScode_dir\hoge_study
[1989 ms] Start: Run: docker compose --project-name hoge_study_devcontainer -f c:\Users\name\Documents\VScode_dir\hoge_study\.devcontainer\docker-compose.yml -f c:\Users\name\AppData\Roaming\Code\User\globalStorage\ms-vscode-remote.remote-containers\data\docker-compose\docker-compose.devcontainer.build-1729003206538.yml build

[+] Building 0.2s (6/6) FINISHED                           docker:desktop-linux
1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?