⑤Dockerの設定

Uncategorized

前提条件

ここでは以下の前提条件で記載しています。

Dockerのインストール

  • Docker エンジンと Docker composeの両方をインストールします。
  • sudo権限なしでDockerを実行できるようにします。

Dockerコンテナの構成

ホストマシンのOSはUBUNTU24.04DESKTOPです。

compose.yamlファイル

services:
https-portal:
image: steveltn/https-portal:1
ports:
- '80:80'
- '443:443'
links:
- wordpress
#restart: always
restart: unless-stopped
environment:
DOMAINS: 'www.gororon.mydns.jp -> http://wordpress:80'
#STAGE: 'local'
#STAGE: 'production' # Don't use production until staging works
#FORCE_RENEW: 'true'
volumes:
- ./https-portal:/var/lib/https-portal
db:
image: mariadb:10.7
environment:
MARIADB_ROOT_PASSWORD: 「MariaDBのルートパスワード」
MARIADB_DATABASE: wordpress
MARIADB_USER: wordpress
MARIADB_PASSWORD: 「MariaDBのUSERパスワード※1」
volumes:
- ./mysql:/var/lib/mysql
wordpress:
image: wordpress:6.6.1
depends_on:
- db
environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_NAME: wordpress
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: 「※1に同じ」
WORDPRESS_CONFIG_EXTRA: define("FS_METHOD","direct");
extra_hosts:
- "www.gororon.mydns.jp:192.168.0.50"#※2
volumes:
- ./html:/var/www/html
phpmyadmin:
image: phpmyadmin:5.2
depends_on:
- db
environment:
PMA_HOST: db
ports:
- "8080:80"

※2 Dockerのコンテナからはドメインのipがわからないのでwordpressで警告が出ます。ローカルipを登録すれば警告は消えるようです。ドメインとipは適当に設定ください。

ディレクトリの構造

wordpressフォルダをhomeディレクトリに作成し、その中に作成したcompose.yamlファイルコピーします。各フォルダの位置関係は以下のようになります。

Homeディレクトリ
├─wordpress・・・自分で作成します。
│ ├─compose.yaml ・・・作成したcompose.yamlファイルをここに置きます。
│ ├─html:フォルダ※
│ ├─https-portal:フォルダ※
│ ├─mysql:フォルダ※

※最初にdocker compose up -dで起動した際に作成されます。
 コンテナの中のファイルはコンテナ削除の際に消えてしまうのでそのためのバックアップです。

サーバの起動

 wordpressフォルダの中で端末を開きdocker compose up -dコマンドを実行します。compose.yamlファイルのあるフォルダで実行する必要があります。

gororon@www:~/wordpress$ docker compose up -d
[+] Running 31/2
 ✔ db Pulled                                                              36.5s 
 ✔ wordpress Pulled                                                       41.4s 
[+] Running 4/4
 ✔ Network wordpress_default        Created                                0.1s 
 ✔ Volume "wordpress_db-data"       Create...                              0.0s 
 ✔ Container wordpress-db-1         Started                                2.6s 
 ✔ Container wordpress-wordpress-1  S...                                   0.6s 
gororon@www:~/wordpress$ 

 https-portalのDOMAINS:で指定しているアドレスをプラウザで入力します。ここで紹介しているcompose.yamlの設定であれば、https://www.gororon.mydns.jpを入力します。
 インストールがまだの場合はインストール画面が表示されます。インストールするとwordpressは特に指定しなければ/var/www/htmlにインストールされる筈です。このフォルダがwordpressでいうところのルートディレクトリです。インストールの方法は詳しい説明がyoutubeなどにあるのでここでは割愛します。このサイトはwordpressのテーマにCocoonを使ってます。

サーバの停止

サーバの停止(wordpressフォルダで実行)

docker compose down

停止したサーバの再開(wordpressフォルダで実行)

docker compose up -d

steveltn/https-portalのステージ変更

 うまくWEBサイトが表示できるようになったら、compose.yamlのsteveltn/https-portalのSTAGE:’production’ を有効にします(STAGEの前の#を削除)。問題なければすぐにhttpsになります。compose.yamlの変更はサーバをdownしてからが無難です。

PhpMyAdmin

 プラウザにlocalhost:8080を入力します。MariaDBをguiで操作できます。

おわりに

 うまく動いたでしょうか。トラブルシューティングを次のブログに掲載しますので参考にしてください。

コメント

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