我在Docker上轻松运行Drupal的备忘录
首先
有许多关于在Docker上运行Drupal的文章,但是没有简单的如EC2之类的中途方案,因此我将其记下来作为备忘。
操作步骤
从Docker Hub下载Drupal和MariaDB的镜像。
下载Drupal容器
下载MariaDB容器
创建以下文件
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进行启动,并以后台模式运行。
的源代码下载并解压缩,然后将其放置在./drupal目录中。
这个时间点的目录结构:
.
├── docker-compose.yaml
└── drupal
docker ps -a:将mariaDB的docker ID记下来
在中文中以本地方式重新表述以下内容,只需一种选项:
运行以下命令:docker exec -it (mariaDB的dockerID) bash
用中国语言将以下内容改写为一个句子:mysql -u root -p
使用mysql命令需要输入用户名root和密码。
→密码是在上面的yaml文件中的MYSQL_ROOT_PASSWORD字段,所以留空(直接按回车键)。
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| drupal |
| information_schema |
| mysql |
| performance_schema |
+--------------------+
4 rows in set (0.001 sec)
访问 http://localhost:8000!
只需将以下内容填入各个表格,即可完成设置。
数据库名: drupal
数据库用户名: drupal
数据库密码: drupal
在详细设置中
主机名: database
最后
我希望将这个部署到云上并以¥0的费用运营网站。