はじめに
drupalをDocker上で動かす記事はいくつかありますが、EC2だったり途中だったりでシンプルなものがなかったのでメモしておきます
参考
手順
drupalとmariadbのイメージをdockerhubから取ってきておく
docker pull drupal
docker pull mariadb
以下のファイルを作成
docker-compose.yaml
version: "2"
services:
# PHP Web Server
web:
# Build the Drupal 7 image
# https://hub.docker.com/r/_/drupal/
image: drupal:7
# Environment variables
environment:
# Drupal settings
DRUPAL_PROFILE: standard
DRUPAL_SITE_NAME: Drupal
DRUPAL_USER: admin
DRUPAL_PASS: admin
DRUPAL_DBURL: mysql://drupal:drupal@database:3306/drupal
ports:
- "8000:80"
volumes:
- ./drupal:/app
links:
- database:database
command: php -S 0.0.0.0:80 -t /app
working_dir: /app
restart: always
# MySQL Server
database:
image: mariadb:10
environment:
MYSQL_USER: drupal
MYSQL_PASSWORD: drupal
MYSQL_DATABASE: drupal
MYSQL_ROOT_PASSWORD: ''
MYSQL_ALLOW_EMPTY_PASSWORD: 'yes'
ports:
- "3306:3306"
restart: always
volumes:
- mysql-db:/var/lib/mysql
volumes:
mysql-db:
docker-compose up -d
Drupalのソースコードをダウンロード・解凍をして、./drupalディレクトリに配置。
Drupal
この時点のディレクトリ構成
.
├── docker-compose.yaml
└── drupal
docker ps -a
mariaDBのdockerIDをメモしておく
docker exec -it (mariaDBのdockerID) bash
mysql -u root -p
→パスワードは上記yamlのMYSQL_ROOT_PASSWORDなので空文字(そのままエンター)
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| drupal |
| information_schema |
| mysql |
| performance_schema |
+--------------------+
4 rows in set (0.001 sec)
各種フォームには以下を入れて進んでいけば設定が終わります。
データベース名: drupal
データベースユーザー名: drupal
データベースパスワード: drupal
詳細設定で
ホスト名: database
おわりに
これを費用¥0でクラウドにデプロイしてサイト運用したいです。