由于是使用的环境不同,部分步骤也有可能不一样。

安装Docker

安装docker,由于我用测试环境为centos,所以命令为

yum install docker -y

拉取镜像

先将需要的两个镜像pull下来 -可选

docker pull wordpress:latest
docker pull mariadb:latest

启动容器

在docker启动容器时添加环境变量参数时使用 --env

docker run --name  db  --env  MYSQL_ROOT_PASSWORD=xxx  -d  mariadb:latest

使用docker运行了一个名字为db,root密码为xxx的mariadb的数据库容器。可添加多个env(环境变量)。
如 MYSQL_DATABASE: words 创建word数据库
MYSQL_USER: wordxxx 创建wordxxx普通用户
MYSQL_PASSWORD: password 创建密码password

创建允许远程访问的数据库(只需要创建一个数据库容器,本地与远程二选一)

docker run --name db --env MYSQL_ROOT_PASSWORD=password -d -p 13306:3306 mariadb:latest    // 创建一个带有端口映射的容器

在数据库容器中创建database创建允许远程登陆的用户(允许远程访问的容器做)

docker exec -it db bash    // 进入db容器
mysql -uroot -p            // 登陆MySQL,密码即为在env中设置的密码
create database wordpress;           ---创建数据库
**创建运行远程登陆的用户(允许远程访问的容器做)**
create user 'wordpress'@'%' identified by 'password';
--- 创建远程普通用户(本地用户将%替换为localhost)
grant all on wordpress.*  to 'wordpress'@'%';
--- 授予此用户操作wordpress数据库的所有权限(本地用户将%替换为localhost)

在创建wordpress容器时使用--link参数连接数据库容器,同时使用-p参数映射端口

docker run --name MyWordPress -d -p 80:80  --link db:mysql wordpress:latest

注:-p参数映射docker内网的端口号时,在前的是外网的端口号。例如,-p 80:81,是将内网的81号端口映射到公网ip的80号端口上。
--link参数在链接容器时被链接容器必须已存在,也就是说依赖必须存在,也可以使用映射端口号的方式取代link(不推荐)

检查启动状态

使用docker ps -a 查看容器运行状态,当两个容器全为up(或run)时,访问wordpress页面进行操作。即IP:80(你映射的端口)