Debian stretch に Docker Compose で WordPress を入れてみた

PC
スポンサーリンク

前回は最近気になっていたDockerをインストールしました。

今回は、前回入れたDockerWordPressを入れてしまいます。

DockerLAMP環境を一つずつ構築してもいいですが、今回は目的がWordPressを構築ですので、一気にWordPressへ進みます。

Docker Composeを使った公式のWordPressを入れてみます。

Debian stretch に Docker を入れてみた
Wordpressのテーマを1から自作することになりました。サーバに開発用のWordpressを設置して作っていてもいいですが、やはりローカル環境で作成するのが望ましいと考えました。Debian stretch ですので、LAMP環...

 

スポンサーリンク

公式インストールドキュメント

Docker Compose はこちらの公式インストールドキュメントを参照しています。

Compose WordPressはこちらの公式インストールドキュメントを参照しています。

Docker Composeのインストール

Docker Composeのダウンロード

データはgithubにありますので、そこから取ってきます。

~$ sudo curl -L https://github.com/docker/compose/releases/download/1.21.2/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   617    0   617    0     0    710      0 --:--:-- --:--:-- --:--:--   710
100 10.3M  100 10.3M    0     0   921k      0  0:00:11  0:00:11 --:--:-- 1862k
~$ 

実行権限の付与

実行できるように実行権限を付与します。

~$ sudo chmod +x /usr/local/bin/docker-compose

確認

~$ docker-compose --version
docker-compose version 1.21.2, build a133471

これで、Docker Composeのインストールは完了です。

 

スポンサーリンク

公式イメージを使ったWordPress環境の構築

公式WordPressイメージ:https://hub.docker.com/_/wordpress/

公式Mysqlイメージ:https://hub.docker.com/_/mysql/

phpMyAdminイメージ:https://hub.docker.com/r/phpmyadmin/phpmyadmin/

Docker WordPress用のディレクトリの作成

僕は「~/.docker/wordpress」にしました。

~$ mkdir -p .docker/wordpress && cd .docker/wordpress
~/.docker/wordpress$ 

データ保存ディレクトリ作成

データベースとhtmlデータをホストOSに保存できるようにします。

そのディレクトリを作成しておきます。

~/.docker/wordpress$ mkdir db-data html

docker-compose.ymlの作成

Docker Compose用の設定ファイルを作ります。

~/.docker/wordpress$ vi docker-compose.yml
version: '3.3'

services:
  db:
    image: mysql:5.7
    volumes:
      - db_data:/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
    volumes:
      - "./html:/var/www/html"
    ports:
       - "8000:80"
    restart: always
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_USER: wordpress
      WORDPRESS_DB_PASSWORD: wordpress

  phpmyadmin:
    image: phpmyadmin/phpmyadmin
    links:
      - db:db
    ports:
       - "8080:80"
    restart: always
    environment:
      MYSQL_USER: wordpress
      MYSQL_PASSWORD: wordpress
volumes:
    db_data:

プロジェクトの構築

必要なイメージを取得し、wordpress とデータベースのコンテナを起動します。

~/.docker/wordpress$ sudo docker-compose up -d
Creating wordpress_db_1 ... done
Creating wordpress_wordpress_1  ... done
Creating wordpress_phpmyadmin_1 ... done
~/.docker/wordpress$

イメージの取得を確認してみましょう。

~/.docker/wordpress$ sudo docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
REPOSITORY              TAG                 IMAGE ID            CREATED             SIZE
wordpress               latest              652d1ff3db63        6 days ago          407MB
mysql                   5.7                 0d16d0a97dd1        6 days ago          372MB
phpmyadmin/phpmyadmin   latest              7af57eae1e90        2 weeks ago         163MB
~/.docker/wordpress$ 

きちんと入っていますね。

~/.docker/wordpress$ sudo docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                  NAMES
7d868d7e0851 phpmyadmin/phpmyadmin "/run.sh phpmyadmin" About a minute ago Up About a minute 9000/tcp, 0.0.0.0:8080->80/tcp wordpress_phpmyadmin_1
2882809990b7 wordpress:latest "docker-entrypoint.s…" About a minute ago Up About a minute 0.0.0.0:8000->80/tcp wordpress_wordpress_1
debcdd27d9a8 mysql:5.7 "docker-entrypoint.s…" About a minute ago Up About a minute 3306/tcp wordpress_db_1
~/.docker/wordpress$

コンテナも起動していました。

 

スポンサーリンク

WordPress起動確認

http://localhost:8000/ にアクセスします。

日本語」を選択して「続ける」ボタンを押します。

ここまで来たらあとはいつもどおりWordPressを設定します。

 

スポンサーリンク

phpMyAdminの起動確認

http://localhost:8080/にアクセスします。

設定したユーザ名とパスワードを入力します。

さいごに

これで、WordPressの開発環境ができました。

テーマの開発環境ももう少し整えたいと思います。

こうして実際に触ってみることで、敬遠していたDockerも理解してきました。

理解してみるとすごく便利なシステムなんだなと実感します。

いろいろな環境を簡単に構築し、使い終わったら削除する手軽さと、環境をコマンドで管理する面白さを感じました。

 

スポンサーリンク

コメント