前提条件
ここでは以下の前提条件で記載しています。
- サーバのアドレスが固定されている。
アドレスの設定方法はこちら - サーバのファイヤウォールのポート80番と443番が開いている。
ファイヤウォールの開け方はこちら - ルータのIPv6とIPv4の設定が完了している。
ルータの設定方法はこちら - gororon.mydns.jpのドメインを取得しサーバのグローバルアドレスに紐付けている。
ドメインの取得方法と紐付け方法はこちら
Dockerのインストール
- 以下のサイトを参考にインストールしました。
【入門】UbuntuにDockerをインストールする
- Docker エンジンと Docker composeの両方をインストールします。
- sudo権限なしでDockerを実行できるようにします。
Dockerコンテナの構成
ホストマシンのOSはUBUNTU24.04DESKTOPです。

compose.yamlファイル
- 以下Services:からのテキストをすべてをテキストファイルにしてファイル名をcompose.yamlとしてください。MariaDBのパスワードは適当に設定ください。ルートとwordpressが使うユーザのパワワードの設定が必要です。パスワードの前には半角スペース1つが必要です 。
- 以下の本、サイトを参考にしています。
Docker&仮想サーバー完全入門 Webクリエイター&エンジニアの作業がはかどる開発環境構築ガイド
stevelth/https-portal
wordpress – Official Image
phpmyadmin - WEBサイトが正常に動くようになるまでステージをproductionにしないでください。
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で操作できます。

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


コメント