拉取镜像
docker pull wordpress # 拉取WordPress
docker pull mysql # 拉取MySQL启动docker
- 创建network
SHELL
docker network create network1 # network1为名称。可随意 - 启动MySQL
SHELL
docker run --name mysql --detach --volume /data/mysql:/var/lib/mysql --env MYSQL_ROOT_PASSWORD="***" --publish 3306:3306 --network network1 mysql - 启动WordPress
SHELL
docker run --name wordpress --detach --volume /data/wordpress:/var/www/html --publish 80:80 --network network1 wordpress
| 参数 | 作用 |
|---|---|
| –name | 容器的名称(随意) |
| –detach | 使其后台运行 |
| –volume | 将容器内数据目录映射到本地,防止数据丢失 |
| –env | 设置MySQL的root用户密码,***为密码 |
| –pubish | 将容器内的端口映射出来 |
| –network | 加入network |
配置MySQL
2020年4月时需要配置,早期版本不需要,未来版本视情况而定。 因为此时的MySQL8改变了密码认证方式,导致WordPress无法连接。
- 进入MySQL
SHELL
docker exec -it mysql mysql -uroot -p # 回车后输入你刚才设置的密码 - 为WordPress创建一个数据库
MYSQL
create database 数据库名; # 数据库名随意 - 为WordPress创建一个用户(使用root用户危险)
create user '用户名'@'%' identified by '密码';
# 用户名和密码请自行设置- 授权用户访问数据库
MYSQL
grant all on 数据库名.* to ‘用户名’@’%’; ```
- 更改用户密码认证方式(否则WordPress连不上)(早期/未来版本可跳过)
MYSQL
use mysql; alter user '用户名'@'%' identified with mysql_native_password by '密码'; flush privileges; - 退出
MYSQL
exit
配置WordPress
- 获取MySQL容器的ip地址
SHELL
docker inspect mysql | grep \"IPAddress\" # mysql是你的MySQL的容器名 - 直接访问你的ip地址或域名