🔰

WSL2+Dockerでdocker-composeで始まるコマンドを実行する場所について

2025/01/17に公開

Dockerの勉強をしているのですが、
わからな過ぎて頭がドッカーんとなってます。

こんにちは、
ワニかず@40歳 出戻りエンジニアです。

今回は、
WSL2+Dockerでdocker-composeで始まるコマンドを実行する場所
についてまとめました。

なお、
この記事は超初心者向けの記事になります。
(私の備忘録)

docker-composeで始まるコマンドは何処で実行すればいい?

条件

  • Windows
  • WSL2
  • Docker Desktop
  • VS Code

イメージ図は以下のような形です。

実行する場所

docker-compose で始まるコマンドは、
必ず docker-compose.yml がある場所で実行する

というルールになっています。

というのはわかるのですが、
例えば

docker-compose up   # コンテナを起動

を実行するのは

PowerShellなのか
PowerShellからアクセスしたWSL環境なのか
VS Codeのターミナルなのか
VS CodeのターミナルからアクセスしたWSL環境なのか
コンテナにアタッチされたターミナルなのか
それがわからない

という事態に初心者の私は陥るのです(笑)

結局のところ、
「PowerShell」で実行
「PowerShellからアクセスしたWSL環境」で実行
「VS Codeのターミナル」で実行
「VS CodeのターミナルからアクセスしたWSL環境」で実行
いずれでもOKでした。

具体例

  • 「C:\Users\xxxx\OneDrive\ドキュメント\PythonProject」にある
  • 「calendar_project」というフォルダでVS Codeを起動し、
  • 「docker-compose up」コマンドを実行する例です。

フォルダ構成は以下のようになっています。

「VS Codeのターミナル」の場合

ターミナル
PS C:\Users\xxxx\OneDrive\ドキュメント\PythonProject\calendar_project> cd .\docker\
PS C:\Users\xxxx\OneDrive\ドキュメント\PythonProject\calendar_project\docker> docker-compose up

という流れで、「docker-compose up」コマンドを実行することができます。

「PowerShellからアクセスしたWSL環境」の場合

powershell
PS C:\Users\xxxx> wsl
hoge@huge:/mnt/c/Users/xxxx$ cd OneDrive/ドキュメント/PythonProject/calendar_project/docker/
hoge@huge:/mnt/c/Users/xxxx/OneDrive/ドキュメント/PythonProject/calendar_project/docker$ docker-compose up

という流れで、「docker-compose up」コマンドを実行することができます。

まとめ

恐らく本当に基本的なことだと思われるので、
AIへの聞き方もわからなかったため、
「それじゃない感」な答えしか返ってこず、
結構な時間を費やしてしまいました。

「PowerShellからアクセスしたWSL環境」の「/mnt/c/Users/xxxx」と
「Windows環境内」の「C:\Users\xxxx\」が同じ場所を指している、

ということが
色々やっている中でようやく理解することができました。

同じことで困った方の参考になれば幸いです。

Discussion