Compose快速搭建个人博客wordpress

如果我们不使用docker-compose部署wordpress,那么我们就要单独部署mysql和wordpress的容器,这样每个容器的管理就比较麻烦。

官网:https://docs.docker.com/compose/wordpress/

创建docker-compose.yml

version: '3.3'

services:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: somewordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress

wordpress:
depends_on:
- db
image: wordpress:latest
ports:
- "8000:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
WORDPRESS_DB_NAME: wordpress
volumes:
db_data: {}

在配置文件目录下启动

docker-compose up -d

查看

docker--Docker-Compose快速搭建个人博客WordPress_mysql

浏览器访问宿主机的8000端口

docker--Docker-Compose快速搭建个人博客WordPress_mysql数据库_02

将删除容器和默认网络,但会保留WordPress数据库: docker-compose down

将删除容器,默认网络和WordPress数据库: docker-compose down --volumes

version: '3.3'

services:
db:
# docker run -itd mysql:5.7
image: mysql:5.7
volumes:
# 采用的是卷标的形式挂载(注意:- db_data是参数,可以变,自定义,必须与下面对应)
- db_data:/var/lib/mysql
# 自动重启,保证服务在线
restart: always
environment:
MYSQL_ROOT_PASSWORD: somewordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress

wordpress:
# - db 是参数,合起来的意思是只有当上面的mysql数据库安装成功后,这个wordpress才可以
# 被安装,还有一个功能,就是docker --link 将上面的mysql数据库,与这个wordpress应用连起来
depends_on:
- db
image: wordpress:latest
ports:
- "8000:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
WORDPRESS_DB_NAME: wordpress
volumes:
db_data: {}

docker-compose中有两种方式可以设置volumes

1.使用具体路径直接挂载到本地,特点就是直观

2.使用卷标的形式,特点就是简洁,但是不知道数据到底在本地的什么位置。需要通过卷标查看

  • docker volume ls
  • docker volume inspect wordpress_db_data

docker--Docker-Compose快速搭建个人博客WordPress_docker_03