使用Docker搭建wordpress

发布于 2018-06-10  215 次阅读


由于是使用的环境不同,部分步骤也有可能不一样。
安装docker,由于我用测试环境为centos,所以命令为 yum install docker -y
1.先将需要的两个镜像pull下来
docker pull wordpress:latest
docker pull mariadb:latest

2.启动数据库容器
在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 ---创建一个带有端口映射的容器

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

4.在创建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(不推荐)

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


我们都要做生活的高手。