Docker を使用して WordPress をインストールする方法: わかりやすいガイド
このチュートリアルでは、Docker Compose を使用して Docker コンテナーで WordPress インストールを実行する方法を説明します。
WordPress は世界中で最も人気のある CMS (コンテンツ管理システム) であるため、新しいサイトを構築する際には最優先で検討する必要があります。これは、PHP 処理を備えた MySQL データベース上に構築されています。
ローカル WordPress インストールのセットアップには複数の手順が必要であり、時間がかかる場合があります。通常は、ローカル ウェブサーバーをセットアップし、PHP コードを実行するようにサーバーを構成し、MySQL データベースをセットアップする必要があります。
ただし、ローカル WordPress 環境をセットアップする最も簡単な方法は、Docker によるコンテナ化を使用することです。
1.Docker Composeをインストールする
Docker を広範囲に使用すると、複数の異なるコンテナーを管理するのが面倒になります。 Docker Compose は、Docker でマルチコンテナ アプリケーションを簡単に定義して起動できるツールです。
Compose を使用すると、単一の YAML ファイルですべてのサービスを定義でき、単一のコマンドですべてをスピンアップまたはすべて破棄できます。
このチュートリアルでは、Docker Compose を使用して、分離されたコンテナー化環境で 2 つのコンテナー (WordPress と MySQL) を実行します。
次に、マルチコンテナー アプリケーションの管理に役立つ最新バージョンの Docker Compose をインストールする方法を説明します。
まず、現在のリリースを確認し、必要に応じて以下のコマンドで更新します。
sudo curl -L "https://github.com/docker/compose/releases/download/v2.5.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/bin/docker-compose
次に、実行可能アクセス許可をバイナリに適用します。
sudo chmod +x /usr/bin/docker-compose
最後に、バージョンを確認して、インストールが成功したことを確認できます。
docker-compose --version
Docker Compose の詳細については、公式ドキュメントを参照してください。
2. ディレクトリの準備
WordPress データを格納するには、/srv
の下に wordpress
という新しいディレクトリを作成する必要があります。このようにして、一定のデータの永続性を実現します。
sudo mkdir -p /srv/wordpress
cd /srv/wordpress/
ご存知のとおり、Docker コンテナ内のデータは永続的ではありません。これは、コンテナを停止して再度実行すると、すべてのデータが失われることを意味します。内部にデータはなくなります。
もちろん、このチュートリアルの後半で説明するように、Docker ボリュームを追加することでこれを回避できます。
3. YAML ファイルの作成
Docker Compose レルムでは、コンテナーの実行に必要なすべてのリソースを docker-compose.yaml
という名前の YAML ファイルで定義する必要があります。
その後、Docker Compose はそのようなファイルを読み取り、Docker デーモンと通信して、定義されたリソースを作成、構成、または破棄します。
この場合、docker-compose.yaml
ファイルには、Docker 化された WordPress セットアップのサービス定義が含まれます。
さらに、Docker Compose を使用すると、これらのサービスを共有ネットワークおよびボリュームとリンクできます。
それでは、選択したエディターを使用して、/srv/wordpress
ディレクトリ内に新しい docker-compose.yaml
ファイルを作成することから始めましょう。
sudo vim docker-compose.yaml
次の構成を入力します。
version: '3'
services:
mysql:
image: mysql:latest
restart: always
environment:
MYSQL_ROOT_PASSWORD: my_password
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress_user
MYSQL_PASSWORD: wordpress_password
volumes:
- mysql_data:/var/lib/mysql
wordpress:
image: wordpress:latest
depends_on:
- mysql
ports:
- 8080:80
restart: always
environment:
WORDPRESS_DB_HOST: mysql:3306
WORDPRESS_DB_USER: <meta http-equiv="content-type" content="text/html; charset=utf-8">wordpress_user
WORDPRESS_DB_PASSWORD: <meta http-equiv="content-type" content="text/html; charset=utf-8">wordpress_password
volumes:
- ./wp-content:/var/www/html/wp-content
volumes:
mysql_data:
ここで少し説明します:
mysql
とwordpress
という 2 つのサービスを定義し、相互に自動的にリンクします。- Docker のイメージを使用し、MySQL と WordPress のどのバージョンを使用するかを決定します。この場合、 その最新バージョン。
- MySQL の環境: WordPress はこれらの環境変数を使用して MySQL コンテナに接続します。
- WordPress の環境: WordPress コンテナを実行するには、データベース接続の詳細を設定する必要があります。
- WordPress イメージは Apache に基づいており、デフォルトではポート
80
で実行されます。デフォルトの Apache ポートをローカル コンピュータのポート8080
にマッピングします。 - mysql_data: このデータベースに流入するデータは、名前付きボリューム
mysql_data
に保存されるため、コンテナを削除してもデータはマシン上に残り、マウントできます。再び新しい容器に入れます。
さらに、wordpress
の volumes
パラメータは、Docker にローカル ファイル システムの wp-content
ディレクトリを表示するように指示します。
そのため、wp-content
ディレクトリなど、WordPress サイトの一部に永続ストレージを確保できるようになりました。 wp-content
には、ユーザーが指定したすべてのコンテンツが含まれます。つまり、基本的に、サイトにアップロードできるものはすべてここにアップロードされます。
ただし、データベースと wp-content
フォルダの両方があれば、他のすべてが失われた場合でも、いつでもサイトを取り戻すことができます。
4. Docker Compose で WordPress を実行する
これで、Docker コマンドを実行してローカル環境を構築する準備が整いました。まだ wordpress
ディレクトリにいることを確認してください。次のコマンドを実行します。
sudo docker-compose up -d
コマンドによりスクリプトの実行が開始され、Docker が MySQL および WordPress イメージを取得している間、さまざまな「ダウンロード中」および「待機中」メッセージがターミナルに表示されるはずです。実行には少し時間がかかります。
ローカル ファイル システムを注意深く観察すると、Docker イメージが取得された後に /srv/wordpress/wp-content
フォルダが作成され、ファイルやフォルダが埋め込まれていることがわかります。で。
MySQL コンテナと WordPress コンテナを使用した WordPress のインストールは成功しました。
ここで、wp-content
ディレクトリの内容を永続的にした、つまり Docker コンテナの外部で利用できるようにした理由を説明しましょう。
新しいテーマをインストールするか、画像などのメディア ファイルを WordPress インストールにアップロードすると、それらは wp-content
ディレクトリの下のディレクトリに保存されます。
前述したように、コンテナは再起動後にコンテナ内に保存されている情報を保持しないため、Docker コンテナが再起動されるとこれらのファイルは失われます。これは私たちにとって決して起こりたくないことです。
そのため、wp-content
ディレクトリを Docker コンテナの外に移動することで、コンテナが再起動された後もディレクトリ内に含まれるファイルに引き続きアクセスできるようにします。
5. WordPress インストールにアクセスする
最後に、コンテナを実行した状態で、WordPress Web インターフェイスを通じてインストールを完了できます。 Web ブラウザで、http://localhost:8080
または http://your_ip_address:8080
に移動します。
ifconfig コマンドを使用して IP アドレスを確認する必要がある場合があります。
言語選択ページが表示されます。言語を選択し、「続行」をクリックします。
次の画面で必要事項を入力し、「WordPressをインストール」をクリックします。
最後に、プロンプトが表示されたら、[ログイン
] をクリックします。
標準の WordPress ログイン画面が表示されます。認証に成功したら、WordPress の使用を開始できます。
追加の Docker Compose オプション
まず、/srv/wordpress
ディレクトリにいることを確認します。
Docker アプリケーションのステータスを表示するには、次のコマンドを実行します。
sudo docker-compose ps
次のコマンドを使用して、実行中のすべてのコンテナを停止できます。
sudo docker-compose stop
docker-compose up
で作成された既存のコンテナを開始するには:
sudo docker-compose start
以下に示すコマンドは、コンテナとすべてのネットワークを停止および削除します。
sudo docker-compose down
結論
Docker Compose の背後にある概念を紹介しました。これで、単純なマルチコンテナー アプリケーションも定義できるようになりました。
このチュートリアルでは、Docker Compose を使用して、Docker で WordPress をインストールしました。これで WordPress が起動して実行できるようになりました。
このガイドをお読みいただければ幸いです。ハッピードッカリング!