学习过docker-compose的基本语法之后,参照指导书上的例程搭建wordpress博客系统。系统主要包括3层服务,如图。
大部分教程中,数据库的文件都用宿主机文件映射来保存,但是这种方式不方便数据备份、迁移、恢复,且不适用于多个容器的备份,所以这里采用数据卷容器的方法来保存数据。
下面贴出docker-compose配置文件:
version: '2'
services:
wordpress:
image: wordpress:latest
depends_on:
- db
links:
- db
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_PASSWORD: wordpress
ports:
- "2250:80"
restart: always
db:
image: mysql:latest
depends_on:
- data_volume
volumes_from:
- data_volume
restart: always
environment:
MYSQL_ROOT_PASSWORD: wordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
data_volume:
image: alpine:latest
command: /bin/sh
tty: true
volumes:
- /var/lib/mysql
文件中的data_volume即数据卷容器service,因为alpine镜像没有默认启动进程,在所有容器启动后,data_volume会自动退出,所以要在service下面添加
tty: true
最后在浏览器上访问ip:2250即可