❄一、实现一个自定义的web容器服务
(1) 获取最新版的nginx的镜像
sudo docker pull nginx:latest
![](https://img2020.cnblogs.com/blog/1797752/202004/1797752-20200424204938774-50768033.jpg)
(2) 查看nginx镜像是否拉取成功
sudo docker images
![](https://img2020.cnblogs.com/blog/1797752/202004/1797752-20200424204939749-2115403974.jpg)
(3) 启动nginx容器
sudo docker run --name nginx-test -p 8080:80 -d nginx
![](https://img2020.cnblogs.com/blog/1797752/202004/1797752-20200424205022249-1312962007.jpg)
(4) 查看容器状态
sudo docker ps
![](https://img2020.cnblogs.com/blog/1797752/202004/1797752-20200424205035175-210674724.jpg)
(5) 进入nginx容器并查看其配置信息
sudo docker exec -it 621d3b995f3d /bin/bash
cd /etc/nginx/conf.d
cat default.conf
![](https://img2020.cnblogs.com/blog/1797752/202004/1797752-20200424205047455-1743559398.jpg)
(6) 在主目录中创建myweb文件夹并创建修改default.conf文件
![](https://img2020.cnblogs.com/blog/1797752/202004/1797752-20200424205108975-1174632557.jpg)
- 将监听端口号listen改为8024
- 将Web默认目录root修改为/home/hadoop/myweb
![](https://img2020.cnblogs.com/blog/1797752/202004/1797752-20200424205141093-28692868.jpg)
(7) 在myweb文件夹下创建dockerfile文件并编辑
![](https://img2020.cnblogs.com/blog/1797752/202004/1797752-20200424205158627-1669269478.jpg)
(8) 在myweb下创建index.html文件并编辑
![](https://img2020.cnblogs.com/blog/1797752/202004/1797752-20200424205203797-992741787.jpg)
(9) 打开dockerfile文件并创建镜像brnginx
cd myweb
sudo docker build -t brnginx .
![](https://img2020.cnblogs.com/blog/1797752/202004/1797752-20200424205219223-1955723009.jpg)
(10) 查看brnginx是否创建成功
sudo docker images
![](https://img2020.cnblogs.com/blog/1797752/202004/1797752-20200424205240347-109413999.jpg)
(11)启动brnginx容器并映射端口
sudo docker run --name brnginx -p 8024:8024 -d brnginx
![](https://img2020.cnblogs.com/blog/1797752/202004/1797752-20200424205241179-1270614143.jpg)
(12)查看容器状态
sudo docker ps
![](https://img2020.cnblogs.com/blog/1797752/202004/1797752-20200424205251077-2009994853.jpg)
(13)访问浏览器http://localhost:8024
![](https://img2020.cnblogs.com/blog/1797752/202004/1797752-20200424205304603-613637608.jpg)
❄二、实现一个自定义的数据库容器服务
(1) 从镜像库中pull一个mysql镜像,版本为5.7
sudo docker pull mysql:5.7
![](https://img2020.cnblogs.com/blog/1797752/202004/1797752-20200424205344342-997712504.jpg)
(2)查看镜像是否拉取成功
sudo docker images
![](https://img2020.cnblogs.com/blog/1797752/202004/1797752-20200424205400438-594570057.jpg)
(3)创建mysql所需文件
3.1 在mysql文件夹中创建dockerfile文件并编辑
![](https://img2020.cnblogs.com/blog/1797752/202004/1797752-20200424205418528-1915673190.jpg)
3.2 在mysql文件夹中创建setup.sh文件并编辑
![](https://img2020.cnblogs.com/blog/1797752/202004/1797752-20200424205434840-1307224912.jpg)
3.3 在mysql文件夹中创建schema.sql文件并编辑
![](https://img2020.cnblogs.com/blog/1797752/202004/1797752-20200424205459717-1133098000.jpg)
3.4 在mysql文件夹中创建privileges.sql文件并编辑
![](https://img2020.cnblogs.com/blog/1797752/202004/1797752-20200424205522419-880335095.jpg)
(4) 创建镜像bymysql
cd mysql
sudo docker build -t bymysql .
![](https://img2020.cnblogs.com/blog/1797752/202004/1797752-20200424205603231-479580325.jpg)
(5) 查看镜像是否拉取成功
sudo docker images
![](https://img2020.cnblogs.com/blog/1797752/202004/1797752-20200424205616417-1480750237.jpg)
(6) 启动bymysql容器并将端口映射到本地的3306端口
sudo docker run --name bymysql -p 3306:3306 -d bymysql
![](https://img2020.cnblogs.com/blog/1797752/202004/1797752-20200424205633606-189227034.jpg)
(7) 查看容器状态
sudo docker ps -a
![](https://img2020.cnblogs.com/blog/1797752/202004/1797752-20200424205654061-101563964.jpg)
(8) 查看日志记录
sudo docker logs bymysql
![](https://img2020.cnblogs.com/blog/1797752/202004/1797752-20200424205706760-1432990110.jpg)
(9) 验证结果
9.1 进入bymysql容器
sudo docker exec -it bymysql /bin/bash
![](https://img2020.cnblogs.com/blog/1797752/202004/1797752-20200424205718422-1051643070.jpg)
9.2 使用docker用户输入密码“123456”登录数据库
mysql -u docker -p
![](https://img2020.cnblogs.com/blog/1797752/202004/1797752-20200424205731260-685564330.jpg)
9.3 查看数据库
show databases;
![](https://img2020.cnblogs.com/blog/1797752/202004/1797752-20200424205738618-1774833814.jpg)
9.4 切换至docker_mysql数据库
use docker_mysql
![](https://img2020.cnblogs.com/blog/1797752/202004/1797752-20200424205744942-1735054355.jpg)
9.5 查询user表
select * from user;
![](https://img2020.cnblogs.com/blog/1797752/202004/1797752-20200424205752319-1585962701.jpg)
9.6 查看bymysql容器配置
sudo docker inspect bymysql
![](https://img2020.cnblogs.com/blog/1797752/202004/1797752-20200424205801483-86932266.jpg)