Docker-ComposeでWordPress環境

DockerでWordPressを実行するまでの手順

■Docker-Composeのインストール

pythonのインストール

sudo apt install -y python3 python3-pip

sudo pip3 install docker-compose

■Docker-ComposeでWordPressを起動

  1. Dockerネットワークを作成する
    docker network create wordpressnet
  2. ボリュームの作成
    docker volume create wordpress_db_volume
  3. mysql コンテナを起動する
  4. wordpressコンテナを起動する

の作業が必要になるのですが、docker-composeで自動でおこないます。

docker-compose.yaml

version"3"
services:
  wordpress-db:
    imagemysql:5.7
    networks:
      - wordpressnet
    volumes:
      - wordpress_db_volume:/var/lib/mysql
    restartalways
    environment
      MYSQL_ROOT_PASSWORDmyrootpassword
      MYSQL_DATABASEwordpressdb
      MYSQL_USERwordpressuser
      MYSQL_PASSWORDwordpresspass

  wordpress-app:
    depends_on
      - wordpress-db
    imagewordpress
    networks
      - wordpressnet
    ports:
      - 8080:80
    restartalways
    environment
      WORDPRESS_DB_HOSTwordpress-db
      WORDPRESS_DB_NAMEwordpressdb
      WORDPRESS_DB_USERwordpressuser
      WORDPRESS_DB_PASSWORDwordpresspass
networks:
  wordpressnet:
volumes:
  wordpress_db_volume:

 

Ubuntuのサーバに入って、

ls -ltr /$home/wordpress

rw-rw-r-- 1 ubuntu ubuntu 727 May 3 18:33 docker-compose.yml

という状態にします。

cd /$home/wordpress

 docker-compose up -d

これだけでwordpressが立ち上がります。

http://サーバのパブリックIP>:8080/でアクセスできます。

f:id:simasimaaquox:20210504033936p:plain



docker-compose ps

Name Command State Ports
---------------------------------------------------------------------------------------------------------
wordpress_wordpress-app_1 docker-entrypoint.sh apach ... Up 0.0.0.0:8080->80/tcp,:::8080->80/tcp
wordpress_wordpress-db_1 docker-entrypoint.sh mysqld Up 3306/tcp, 33060/tcp

 

コンテナ名は

作業用ディレクトリ名_コンテナ名_1

という命名規則にする。

 

■Docker-Composeの注意点

1.サービス

全体を構成する一つのコンテナのこと。

2.ネットワーク

ネットワークを指定しなかった場合、記述しているサービス(コンテナ)がつながる新しいDockerネットワークを自動的に作成し、すべてのサービスをそのネットワークに接続するように構成する。

3コンテナに入るとき

コンテナに入るときにはdocker-compose exec wordpress-app /bin/bash

というようにできる。この際、-itはいらず、デフォルトで機能する。