自分の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