自分のPC上のファイルではなく、Dockerコンテナ内のファイルを編集する必要があり『どうやるんだろう?』と調べたので、手順をまとめてみました。
DockerコンテナのIDを確認する
↓まずターミナルで、docker-compose.ymlが置いてあるディレクトリへ移動します。
cd /path/to/docker-compose-directory↓まだの場合はコンテナを起動します。
docker-compose up -d↓下記コードを実行します。
docker ps↓こんな感じで返ってきます。
CONTAINER IDの部分がコンテナIDです。
CONTAINER ID   IMAGE              COMMAND                  CREATED         STATUS         PORTS                  NAMES
2c3e89630fff   wordpress:latest   "docker-entrypoint.s…"   9 minutes ago   Up 9 minutes   0.0.0.0:8000->80/tcp   wp-mucca-code-wordpress-1
aed52f10d6d8   mysql:5.7          "docker-entrypoint.s…"   9 minutes ago   Up 9 minutes   3306/tcp, 33060/tcp    wp-mucca-code-db-1アクセスしたいコンテナIDをコピーしておきましょう。
Dockerコンテナ内にアクセスする
docker-compose.ymlが置いてあるディレクトリへ移動し、以下のコマンドを実行します。
docker exec -it [先ほどコピーしたコンテナID] /bin/bashコンテナ内のファイルを編集する
vi [編集したいファイル]i:編集モードesc:編集モード終了:wp:保存して終了:q!:保存しないで終了
この辺わかればだいたいやりたいことできるかなと思います👆
【トラブルシュート】viコマンドが使えない
今回、わたしの環境ではvimが使えませんでした。
その場合は下記コマンドでインストールすればokでした。
apt-get update
apt-get install vim今回知ったこと📝
- macOS 上で Docker を実行すると、Dockerは Linux ベースの仮想マシン(VM)の上で動作する
- 多くの Linux ベースの Docker イメージ(例: debian,ubuntu)では、パッケージ管理システムとしてapt-getが利用可能
- そのため、コンテナ内では上記のコマンドが動作する
コンテナの接続から抜ける
ファイルの編集が完了したら、コンテナから抜けましょう。
exit


