こんにちは、りです。
お仕事でdockerを使う機会があったので、yumとかよくわからんよ、コンテナって何?という人が細かいことはわからんがとりあえず動けばいいよ、という人向けに記事を書いてみました。(怒られそう)
しっかり知りたい人はM.claclaさんのDocker触ってみた〜を見てください。
VSCodeを使っている前提で進めていきます。
自力で作るのが難しかったのでtelさんに作っていただきました。
version: '3'
services:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: ROOTのぱすわーど
MYSQL_DATABASE: 作るDBのなまえ
MYSQL_USER: mysqlのユーザ名
MYSQL_PASSWORD: mysqlのパスワード
wordpress:
depends_on:
- db
- mail
image: wordpress:5.7.1-php7.4-apache
ports:
- "80:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: mysqlのユーザ名
WORDPRESS_DB_PASSWORD: mysqlのユーザ名
volumes:
- ./html/:/var/www/html/:cached
- ./php/php.ini:/usr/local/etc/php/conf.d/php.ini
phpmyadmin:
depends_on:
- db
image: phpmyadmin:latest
ports:
- "8080:80"
restart: always
environment:
- PMA_ARBITRARY=1
- PMA_HOST=db
- PMA_USER=phpmyadminのユーザ名
- PMA_PASSWORD=phpmyadminのパスワード
mail:
image: mailhog/mailhog
ports:
- 8025:8025
- 1025:1025
volumes:
db_data:
雰囲気で察していただけるかもですが、
普段サーバにインストールしてもらっているものを書きます。
今回はWPの環境を立てて、メールフォームをつけたかったので、
を入れてもらいました。
こんなにいらんよ!さらのWPでいいよ!という方は、dockerHubに公式のイメージがごりっとあるので覗いてみてください。
serviceの中と外にvolumesの記述があると、記事データなど、作ったものを残しておいてくれるみたいです。
php.iniファイルのありかを指定しています。(たしか)
これを書いてphp.iniファイルを置いておくと、
メディアから画像がアップロードできない!!!というようなトラブルがあった時にささっと修正できます。
いろんなサービスの設定(PWとかユーザ名とか)をこのファイル内でできるやつです。
あっち見てこっち見てしなくて良いのでとってもべんり。
それぞれのサービスのimageのところを修正してください。
dockerHubにあれば取ってきてもらえます。
改まって作る必要はないですが、ついでなので…。
今回は「wordpress」というディレクトリを作り、その中にいろいろと格納していきます。
「wordpress」の直下はこんなかんじです。
htmlの直下=普段使っているサーバのウェブルートだと思ってください。
ここにはWPのファイルが入ります。
phpのディレクトリの中にはphp.iniを入れておいてください。
特に何もいじってなければローカルにあるやつをこぴぺで大丈夫です。
この辺が入っていればなんとなくなんとかなるっぽいです。
これで大体準備完了です。
※mailhogは localhost:8025 で見れます。
おしまい
り