docker-composeを使ってWordPressを入れる

Dockerの本を読みながら例題をやっています。Docker Composeでとりあえず運用できそうなので、Docker Composeを入れてポチポチします。

Docker Composeのインストール

Dockerのリポジトリをaptに設定してあれば、aptでインストールできるはずです。

sudo apt install docker-compose

制御ファイルはデフォルトではdocker-compose.ymlです。

docker-compose.yml

version: '3'

services:
   db:
     image: mysql:5.7
     restart: always
     volumes:
       - dbdata:/var/lib/mysql
     environment:
       MYSQL_ROOT_PASSWORD: somewordpress
       MYSQL_DATABASE: wordpress
       MYSQL_USER: wordpress
       MYSQL_PASSWORD: wordpress

   wordpress:
     depends_on:
       - db
     image: wordpress:latest
     ports:
       - "8000:80"
     restart: always
     volumes:
       - wp-content:/var/www/html/wp-content
     environment:
       WORDPRESS_DB_HOST: db:3306
       WORDPRESS_DB_USER: wordpress
       WORDPRESS_DB_PASSWORD: wordpress
volumes:
    dbdata:
    wp-content:

これをセットして、sudo docker-compose upすると動きました。この設定の場合、アクセス先は、http://<IP>:8000です。ports:オプションでは、そとから8080にアクセスされた場合、コンテナ内で80へのアクセスとするNATが設定されます。

データの永続化を行うためのvolumesもセットされています。dbdataとwp-contentが宣言されていて、dbdataはmysqlコンテナの/var/lib/mysqlを、wp-contentはwordpressコンテナの/var/www/html/wp-contentに永続化データとしてマウントします。

この例の場合には、dbdataディレクトリですが、このdbdataディレクトリはubuntu 20.04では/var/lib/docker/volumes/内にあります。が、名前が<username>_dbdataに設定されています。ここを、dbdataではなく./dbdataとすると、カレントディレクトリの下にdbdataディレクトリが作成されていました。

volumesの独立エントリを作ると、dockerのディレクトリ下にできる感じでしょうか?

他の設定

他に、dockerの入っているUbuntuでポートを外部公開にする必要があります。しておかないと他のコンピューターから見えません。

よんでいる本

この本を読みながらやっています。わかりやすくていいですが、読みすすめていたらKubernetesは自分にはオーバースペックということが今更ながらわかりました。K8s本他にも買っちゃったのに、積ん読確定です。

 

 

コメント

タイトルとURLをコピーしました