6
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Wordpressの開発環境をDockerで作りたい

Last updated at Posted at 2023-05-01

実行環境

macOS Ventura13.3

M2 Macbook Air

Docker Desktop Version4.19.0をインストール済み

Docker Composeをインストール

Docker Desktopまずは公式からダウンロードしてインストール済みという想定なので、ない場合はインストールしておいてください。

次に、複数のコンテナを管理するためにDocker Composeをインストールします。
以下をターミナルへ打ち込んでください。

$ sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
$ sudo chmod +x /usr/local/bin/docker-compose

プロジェクトフォルダを作る

Wordpressをインストールしたり、開発をする「場」になるプロジェクトフォルダを新規作成します。
その中に、docker-compose.ymlというファイルを新規作成して、開いたら以下のように書いてください。

version: "3.6"
services:
 wordpress:
   image: wordpress:latest
   container_name: wordpress
   volumes:
     - ./wordpress:/var/www/html
   environment:
     - WORDPRESS_DB_NAME=wordpress
     - WORDPRESS_TABLE_PREFIX=wp_
     - WORDPRESS_DB_HOST=db
     - WORDPRESS_DB_USER=root
     - WORDPRESS_DB_PASSWORD=password
   depends_on:
     - db
     - phpmyadmin
   restart: always
   ports:
     - 8080:80

 db:
   image: mariadb:latest
   container_name: db
   volumes:
     - db_data:/var/lib/mysql
   environment:
     - MYSQL_ROOT_PASSWORD=password
     - MYSQL_USER=root
     - MYSQL_PASSWORD=password
     - MYSQL_DATABASE=wordpress
   restart: always

 phpmyadmin:
   depends_on:
     - db
   image: phpmyadmin/phpmyadmin:latest
   container_name: phpmyadmin
   restart: always
   ports:
     - 8180:80
   environment:
     PMA_HOST: db
     MYSQL_ROOT_PASSWORD: password

volumes:
 db_data:

コンテナを立ち上げる

先ほどまではどのディレクトリでコマンドを打っても問題ないのですが、今度はさっき作ったdocker-compose.ymlのあるディレクトリへcdしてから以下のコマンドを打ち込んでください。

$ docker-compose up -d

wordpress

ブラウザでlocalhost:8080/にアクセスすると、WordPressのインストール画面が表示されます。WordPressのインストール画面に従って、インストール情報を入力してください。

ここで、一般的な使い方であるルートにインストールしたい場合は「WordPressのアドレス (URL)」と「サイトアドレス (URL)」は、http://localhost:8080です。

もしも他のDockerコンテナや、MAMP,XAMPのようなローカルサーバを立ち上げるソフトを使っていると、localhost:8080がすでに使われていて、コンテナが立ち上がらないという事象が発生します。

そんな時は、docker-compose.ymlのportsのポート番号を変更して、ポート番号が被らないようにすれば解決できます。

version: "3.6"
services:
 wordpress:
   image: wordpress:latest
   container_name: wordpress
   volumes:
     - ./wordpress:/var/www/html
   environment:
     - WORDPRESS_DB_NAME=wordpress
     - WORDPRESS_TABLE_PREFIX=wp_
     - WORDPRESS_DB_HOST=db
     - WORDPRESS_DB_USER=root
     - WORDPRESS_DB_PASSWORD=password
   depends_on:
     - db
     - phpmyadmin
   restart: always
   ports:
     - 8080:80 ←←← これです

データベースや、phpMyAdminも同様です。ポート被りでコンテナが立ち上がらない時は、portと書かれているところを変更すればいけます。

まぁ、そもそも体は一つしかないので、立ち上げておくコンテナは常に一つ、ローカルサーバを立ち上げるソフトも使わない、を徹底しておけば防げる事象なのですが。。。

最後に、MySQLのホスト名はdocker-compose.ymlにある通り、「db」、ユーザー名は「root」、パスワードは「password」になります。

6
4
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?