サクラの簡単インストールでWordPressをインストールし、破壊し、というのを2回ぐらい繰り返しました。
おとなしくローカルで遊んでからにしよう…と思い、せっかくなのでDockerでローカル環境を作ろうと思い立ち、今に至ります。
公式のドキュメントにあるので完全備忘録です。
クイックスタート・ガイド:Docker Compose と Wordpressを参考に進めます。
docker-compose.yml用意
適当なWordPressプロジェクトのディレクトリを作って移動します。
$ mkdir wp_prj $ cd wp_prj
作成したwp_prj
ディレクトリの中に、コンテナを立ち上げるためのdocker-compose.yml
を作ります。内容はクイックガイドのものを丸っと。
# docker-compose.yml version: '2' services: db: image: mysql:5.7 volumes: - "./.data/db:/var/lib/mysql" restart: always environment: MYSQL_ROOT_PASSWORD: wordpress MYSQL_DATABASE: wordpress MYSQL_USER: wordpress MYSQL_PASSWORD: wordpress wordpress: depends_on: - db image: wordpress:latest links: - db ports: - "8000:80" restart: always environment: WORDPRESS_DB_HOST: db:3306 WORDPRESS_DB_PASSWORD: wordpress
db
とwordpress
の2つのコンテナを作っています。
volumes
ホストのパスを指定してマウントする(リファレンス:volumes, volume_driver)restart
docker run
のrestartオプション相当(docker run:再起動ポリシー(–restart))environment
環境変数(リファレンス:environment)depends_on
サービス間の依存関係を指定(リファレンス:depends_on)links
コンテナを他のサービスとリンクさせる(リファレンス:links)
docker-composeの内容はこちらの記事がわかりやすかったです。ありがたい…。
参考:Docker Compose - docker-compose.yml リファレンス - Qiita
立ち上げ
docker-compose.yml
の準備ができたら、あとはコマンド一つだけです。
$ docker-compose up
(docker-compose up -d
のようにd
オプションをつけるとデーモン起動)
念のためプロセス確認すると↓のようになります。
$ docker-compose ps Name Command State Ports ---------------------------------------------------------------------------------- wpprj_db_1 docker-entrypoint.sh mysqld Up 3306/tcp wpprj_wordpress_1 docker-entrypoint.sh apach ... Up 0.0.0.0:8000->80/tcp
立ち上がっている状態だと、docker machineを使っている場合はマシンIPでブラウザからアクセスできるようです。
特に何も使っていなければlocalhost
でアクセスできるはずです。
今回はdocker machineを使っていないのでlocalhost
で。
無事セットアップ画面まで来れました。まだ破壊してません。