WSL2+Dockerでdocker-composeで始まるコマンドを実行する場所について
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環境」の場合
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