Tech Bytes

短くて分かりやすい技術情報を記事として共有します。みなさんにとって学びになれば幸いです。

wordpressをdockerとnginxで構築

wordpressをdockerとnginxで構築する手順

WordPressをDockerとNginxで構築する手順は以下の通りです:

1. DockerとDocker Composeをインストールします。
Dockerは公式サイトから、Docker ComposeはGitHubからインストールできます。

2. WordPress用のディレクトリ構造を作成します。
例えば、wordpress-dockerというディレクトリを作成します。

3. wordpress-dockerディレクトリ内に、docker-compose.ymlという名前のファイルを作成します。

4. docker-compose.ymlファイルに、WordPress、MySQL、Nginxの各サービスの設定を記述します。
以下は、サンプルのdocker-compose.ymlファイルです。
mysqlは古いバージョンにはなりますが、5.7でやります。

version: '3'

services:
  db:
    image: mysql:5.7 # mysqlのバージョンは適宜変えてください
    volumes:
   - db_data:/var/lib/mysql
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: examplepassword
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wordpress
      MYSQL_PASSWORD: examplepassword

  wordpress:
    depends_on:
   - db
    image: wordpress:latest
    volumes:
   - ./wordpress:/var/www/html
    restart: always
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_USER: wordpress
      WORDPRESS_DB_PASSWORD: examplepassword
      WORDPRESS_DB_NAME: wordpress
    ports:
   - "8000:80"

  nginx:
    image: nginx:latest
    ports:
   - "80:80"
    volumes:
   - ./nginx.conf:/etc/nginx/nginx.conf
    depends_on:
   - wordpress

volumes:
  db_data:

5. wordpress-dockerディレクトリ内に、nginx.confという名前のNginxの設定ファイルを作成します。
以下は、サンプルのnginx.confファイルです:

worker_processes 1;

events {
  worker_connections 1024;
}

http {
  server {
listen 80;
server_name localhost;

location / {
  proxy_pass http://wordpress:80;
  proxy_set_header Host $host;
  proxy_set_header X-Real-IP $remote_addr;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header X-Forwarded-Proto $scheme;
}
  }
}

6. コマンドラインでwordpress-dockerディレクトリに移動し、以下のコマンドを実行してDockerコンテナを起動します:

docker-compose up -d

これでWordPressがDockerとNginxで構築され、localhost:8000でアクセスできるようになります。
以下の画面が表示されます。
とても簡単ですね。


docker-compose upで起動したコンテナを停止

Docker Composeで起動したコンテナを停止するには、docker-compose downコマンドを使用します。
以下がその方法です:

1. コマンドラインでdocker-compose.ymlファイルがあるディレクトリに移動します。

2. 以下のコマンドを実行して、起動しているコンテナを停止します:

docker-compose down

これにより、Docker Composeで定義されたすべてのサービスが停止され、関連するネットワークとコンテナが削除されます。