WordPress は PHP で書かれており、MySQL データベースによってサポートされています。これは、Linux、Apache、MySQL、PHP、または LAMP スタックを利用することを意味します。 WordPress のコア アーキテクチャはモジュール式であり、プラグインとテーマを使用して広範な機能と拡張性を提供します。
開発者は、サーバー要件やツールをすべて設定せずに WordPress インスタンスを迅速に実行する必要がある場合があります。ここで Docker が登場します。
このチュートリアルでは、Docker compose とシンプルなツールを使用して基本的な WordPress をすばやくセットアップする方法を学びます。
要件
このチュートリアルを使用するには、次のものが必要です。
- Docker エンジンがホスト マシンにインストールされていること。
- Docker コンテナを実行するための十分な権限。
- マシンに Docker Compose がインストールされていること。
- Docker 構成ファイルを作成および使用するための基本的な知識。
Docker Compose ファイルの定義
Docker Compose を使用して WordPress を実行するには、構成ファイルを定義する必要があります。これには、WordPress を実行するために必要なすべてのツールとサービスが含まれます。
docker-compose.yml という名前の新しいファイルを作成します。
$ 触る docker-compose.ymlファイルを編集し、次のように構成を追加します。
サービス:
データベース:
画像: mysql:8.0.27
指示: 「--default-authentication-plugin=mysql_native_password」
ボリューム:
- データベースデータ: / だった / ライブラリ / mysql
再起動: 常に
環境:
- MYSQL_ROOT_PASSWORD =mysql
- MYSQL_DATABASE =ワードプレス
- MYSQL_USER =ワードプレス
- MYSQL_PASSWORD =ワードプレス
さらす:
- 3306
- 33060
ワードプレス:
画像: ワードプレス: 最新
ポート:
- 80 : 80
再起動: 常に
環境:
- WORDPRESS_DB_HOST =db
- WORDPRESS_DB_USER =ワードプレス
- WORDPRESS_DB_PASSWORD =ワードプレス
- WORDPRESS_DB_NAME =ワードプレス
ボリューム:
データベースデータ:
上記の Dockerfile では、構成が次のセクションに分かれています。各セクションは特定の命令セットを実行しています。
最初は db セクションです。このセクションでは、Docker に次のアクションを実行するように指示します。
- 「mysql:8.0.27」イメージを使用します。
- デフォルトの認証プラグインを「mysql_native_password」に設定します。
- 「db_data」という名前のボリュームをマウントして、MySQL データを永続的に保存します。
- サービスを自動的に再起動します。
また、root パスワード、データベース名、ユーザー、ユーザー パスワードなど、MySQL 構成の環境変数も定義します。
最後に、データベース接続用にポート 3306 と 33060 を公開します。
WordPress セクションでは、Docker に次のアクションを実行するように指示します。
- wordpress:latest イメージを使用します。
- Web アクセス用に、ホスト上のポート 80 をコンテナ内のポート 80 にマップします。
- サービスを自動的に再起動します。
また、WordPress が MySQL データベースに接続するための環境変数 (データベース ホスト、ユーザー、ユーザー パスワード、データベース名など) も指定します。
最後に、永続的なデータ ストレージ用に Docker ボリュームを構成します。
コンテナの実行
好みに合わせて構成を指定したら、次のように構成ファイルで定義されたコンテナーとサービスを実行できます。
$ ドッカーの構成 -dこれにより、すべてのイメージが構築され、上で定義したようにサービスが開始されます。
WordPress の設定
すべてのサービスが実行されたら、次のアドレスにアクセスできます。 http://localhost:80 WordPress インスタンスを設定します。
結論
このチュートリアルでは、Docker compose を使用して、Docker コンテナー上で WordPress インスタンスを迅速に実行する方法の基本について説明しました。