ホストのディレクトリをマウントして、ローカルのDockerでのWordPress環境を整える

スポンサーリンク

以前、PHP&WordPressのバージョンアップのテストをするためにDockerを使ってローカル環境を構築しました。
  PHPをバージョンアップしてWordPressを最新化!!!
その後、テーマの大幅変更や色々なプラグインの導入・最適化を本格的にするために、ローカル環境を少し変更したので、その備忘録です。

スポンサーリンク

Dockerの外でファイルなどを弄る

Dockerの中だけでHTMLやCSS、PHPなどのコードを変更していくのは、色々と限界があるので、
Dockerの外からでもファイルを弄れるようにして、テキストエディタやらVisual Studio Codeやらで楽に修正できるようにします。

#  ホストのディレクトリをマウントする
#  $ docker run -v [ホストディレクトリの絶対パス]:[コンテナの絶対パス] [イメージ名] [コマンド]
#  ローカルの /Users/develop/sbatlabo を Docker内 /home/sbatlabo へマウント
$ docker run -d --privileged -p 8080:80 -v /Users/develop/sbatlabo:/home/sbatlabo --name mycentos centos:centos7 /sbin/init

Dockerのコンテナを作る時にマウント(-v)のコマンドを追加しました。
はい、たったのコレだけ。
これで、ホスト側の /Users/develop/sbatlabo 内のファイル等を変更すれば、そのままDockerのコンテナ内にも反映されます。

実際の作業では、これでコンテナを実行させてから、
コンテナ内の /var/www/html/sbatlabo に /home/sbatlabo のシンボリックリンクを作り、
/home/sbatlabo にWordPressの環境を構築し直しました。

(おまけ)PHPのファイルのアップロードファイルサイズの最大値を変更

ローカル環境で、気に入ったテーマを適用しようと思ったら、ファイルサイズが2Mを超えていてアップロードできませんでした。
なので、 /etc/php.ini の “upload_max_filesize" の値を “2M"から"5M"に変更。
変更後は忘れず、httpdを再起動です。

念のため、コンテナからイメージを作成してバックアップ

特に問題がなければ、コンテナを消してしまわない限り環境が失われる事は無いと思いますが、いつ何があるか分からなかったので、作成した開発環境のコンテナからイメージを作成して置きました。

#  実行中のコンテナからイメージを作成
#  $ docker commit -a "<作成者を任意で設定>" -m "<コミットメッセージを任意で設定>" [コンテナ] /mycentos:[タグ]
#  作成者:"sweetsblast"
#  メッセージ:"php7 & wordpress install"
#  コンテナ:mycentos
#  リポジトリ(Docker Hubのsweetsblastユーザ):sweetsblast/mycentos
#  タグ:1.1
$ docker commit -a "sweetsblast" -m "php7 & wordpress install" mycentos sweetsblast/mycentos:1.1

これで少なくとも、php7 や mysql、基本的なDBの初期データが入ったイメージを保持できます。
イメージを作っておけば、別のPCで環境を作りたくなっても対応可能ですしね。
ただ…記事データや、/home/sbatlabo 内のファイルまでは反映できませんが…

その辺りは、DBや、/home/sbatlabo 内のバックアップを取ったりする必要があるので、また別の機会に記事にしようと思います。
近々で、すでに公開中の記事データ等をローカル環境に反映させてみたいと考えているので、その辺も含めて。
(上手くいくかなぁ〜?)

以上、本当に簡単な備忘録でした。

スポンサーリンク