一、实验目的
1、了解Docker容器技术;
2、掌握基于Docker部署MySQL数据库;
3、掌握基于Docker部署WordPress实现网站系统。
二、实验学时
2学时
三、实验类型
综合性
实验需求
1、硬件
每个人配备计算机1台。
2、软件
Windows操作系统,安装Oracle VM VirtualBox软件,安装MobaXterm软件。
3、网络
本地主机与虚拟机能够访问互联网,不使用DHCP服务。
4、工具
无。
五、实验任务
1、完成Docker环境的安装;
2、完成基于Docker部署MySQL数据库;
3、完成基于Docker部署WordPress。
六、实验环境
1、本实验需要VM 1台;
2、本实验VM配置信息如下表所示;

3、本实验拓扑图。
无。
4、本实验操作演示视频。
本实验为视频集的第9集:网页链接
七、实验内容步骤
1、安装Docker环境
(1)使用curl命令配置Docker数据源。
(2)使用yum命令安装Docker环境,查看Docker版本信息,启动Docker服务,设置Docker服务为开机自启动并查看Docker服务状态。
# 配置docker数据源
[root@Lab-12-Task-01 ~]# curl -o /etc/yum.repos.d/docker-ce.repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 安装dokcer
[root@Lab-12-Task-01 ~]# dnf -y install docker-ce
# 查看Docker版本信息
[root@Lab-12-Task-01 ~]# docker --version
# 启动docker服务
[root@Lab-12-Task-01 ~]# systemctl start docker
# 设置docker服务为开机自启动
[root@Lab-12-Task-01 ~]# systemctl enable docker
# 查看docker服务状态
[root@Lab-12-Task-01 ~]# systemctl status docker 2、安装MySQL数据库
(1)使用docker pull命令拉取MySQL镜像。
(2)使用docker images命令查看Docker镜像列表。
(3)使用docker run命令创建启动MySQL容器,并查看容器列表。
(4)使用docker exec命令进入容器内部。
# 拉取MySQL镜像
[root@Lab-12-Task-01 ~]# docker pull mysql:latest
# 查看docker镜像列表
[root@Lab-12-Task-01 ~]# docker images
# 创建并启动MySQL容器,并将MySQL数据、配置、日志所在目录映射到宿主机,将容器3306端口映射到宿主机3306端口,设置root用户密码为:mysqllab#PWD
[root@Lab-12-Task-01 ~]# docker run -d \
-p 3306:3306 \
-v /mydata/mysql/conf:/etc/mysql/conf.d \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/log:/var/log/mysql \
-e MYSQL_ROOT_PASSWORD=mysqllab#PWD \
--restart=always \
--name mysql \
mysql
# 查看容器列表
[root@Lab-12-Task-01 ~]# docker ps
# 进入容器内部
[root@Lab-12-Task-01 ~]# docker exec -it mysql /bin/bash
# 连接MySQL数据库
bash-4.4# mysql -uroot -pmysqllab#PWD
mysql> exit 3、安装WordPress网站服务
(1)使用docker pull命令拉取WordPress镜像。
(2)使用docker images命令查看Docker镜像列表。
(3)使用docker run命令创建启动WordPress容器,并查看容器列表。
# 拉取WordPress镜像
[root@Lab-12-Task-01 ~]# docker pull wordpress:latest
# 查看Docker镜像列表
[root@Lab-12-Task-01 ~]# docker images
# 创建并启动WordPress容器,将WordPress文件所在目录映射到宿主机,并将容器80端口映射到宿主机8080端口
[root@Lab-12-Task-01 ~]# docker run -d \
-p 8080:80 \
--restart=always \
--name wordpress \
--link mysql:mysql \
-v /var/www/html:/var/www/html \
wordpress
# 查看容器列表
[root@Lab-12-Task-01 ~]# docker ps 4、配置WordPress网站服务
(1)查看防火墙Firewalld服务状态(CentOS操作系统默认安装Firewalld防火墙,并创建firewalld服务,该服务已开启且已配置为开机自启动)。
(2)使用firewall-cmd命令添加所有客户端可访问8080、3306端口,并重新载入防火墙配置使其生效。
(3)使用docker exec命令进入容器内部,并连接MySQL数据库。
(4)使用create database wordpress命令创建数据库,使用create user命令创建数据库用户,并授予该用户对数据库wordpress的全部权限。
(5)使用flush privileges;命令刷新配置,并退出连接。
# 查看防火墙Firewalld服务状态
[root@Lab-12-Task-01 ~]# systemctl status firewalld
# 允许访问8080端口
[root@Lab-12-Task-01 ~]# firewall-cmd --add-port=8080/tcp --permanent
# 允许访问3306端口
[root@Lab-12-Task-01 ~]# firewall-cmd --add-port=3306/tcp --permanent
# 重新载入防火墙配置使其生效
[root@Lab-12-Task-01 ~]# firewall-cmd --reload
# 进入容器内部
[root@Lab-12-Task-01 ~]# docker exec -it mysql /bin/bash
# 连接MySQL数据库
bash-4.4# mysql -uroot -pmysqllab#PWD
# 创建数据库wordpress,创建数据库用户,授予该用户对数据库wordpress的全部权限
mysql> create database wordpress;
mysql> create user 'mysqllab'@'%' identified by 'mysqllab#PWD';
mysql> grant all privileges on wordpress.* to 'mysqllab'@'%';
# 刷新配置,并退出数据库连接
mysql> flush privileges;
mysql> exit 在本地主机通过浏览器访问http://172.20.1.25:8080,并按照提示完成WordPress的初始化配置。