前提
ホストマシン(自分のPC)上にあるファイルではなく、Dockerコンテナ内のファイルを編集したいときの手順をまとめました。
使用環境
- M2 macbook air
- macOS Venrura13.3
- zshではなく、bash
DockerコンテナのIDや名前を調べる
ターミナルでdocker-compose.ymlが置いてあるディレクトリへ移動して、以下のコマンドを実行します。
docker ps
以下のように表示されたら、何もコンテナが動いていません。docker-compose up -d
でコンテナを動かしてください。
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
CONTAINER ID
の下に書いてあるのが、コンテナIDです。
データベース等を動かしているコンテナではなく、ソースコードを動かす時に使っているコンテナのコンテナIDを使います。
docker-compose.ymlファイルと見比べてみて、見当をつけてください。
ちなみに、最近ではDocker Desktopを使用している方がほとんどだと思いますが、Docker DesktopからもコンテナIDを確認することができます。
Docker Desktopの左メニューからContainersを選択するとコンテナ一覧が出ます。コンテナ名の左側の>を押すと、コンテナイメージの下に小さくIDが出てます。コピーもできるので、こちらも便利です。
Dockerコンテナのシェルへ接続
あとは以下のコマンドで接続ができます。
docker exec -it コンテナ名かID bash
Dockerコンテナの接続から抜けるには
exit