2020系统综合实践 第3次实践作业
一.完成Docker-compose的安装
下载docker-compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.25.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
将可执行权限应用于二进制文件
sudo chmod +x /usr/local/bin/docker-compose
创建软链
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
测试安装
docker-compose --version
![](https://img2020.cnblogs.com/blog/1466638/202005/1466638-20200506150958500-1667126572.png)
二.Dockerfile编写
创建如下目录结构
![](https://img2020.cnblogs.com/blog/1466638/202005/1466638-20200506153346675-779642822.png)
(1)default.conf
![](https://img2020.cnblogs.com/blog/1466638/202005/1466638-20200506153528703-1215123132.png)
(2)docker-compose.yml
![](https://img2020.cnblogs.com/blog/1466638/202005/1466638-20200506153731327-1691948279.png)
(3)dockerfile_mysql
![](https://img2020.cnblogs.com/blog/1466638/202005/1466638-20200506153909288-1767121547.png)
(4)dockerfile_nginx
![](https://img2020.cnblogs.com/blog/1466638/202005/1466638-20200506154006918-913708819.png)
(5)dockerfile_php
![](https://img2020.cnblogs.com/blog/1466638/202005/1466638-20200506154109029-829262814.png)
(6)index.html
![](https://img2020.cnblogs.com/blog/1466638/202005/1466638-20200506154328570-133235237.png)
(7)index.php
![](https://img2020.cnblogs.com/blog/1466638/202005/1466638-20200506154428378-1470359148.png)
三.使用Compose实现多容器运行机制
(1)运行docker-compose
sudo docker-compose up -d --build
(2)查看容器和镜像
sudo docker images
(3)查看容器
![](https://img2020.cnblogs.com/blog/1466638/202005/1466638-20200506155712269-793320583.png)
(4)访问测试
![](https://img2020.cnblogs.com/blog/1466638/202005/1466638-20200506160146604-465712679.png)
![](https://img2020.cnblogs.com/blog/1466638/202005/1466638-20200506160317613-1096820158.png)
四.服务测试
(1)测试数据库连接
![](https://img2020.cnblogs.com/blog/1466638/202005/1466638-20200506190215479-1671622218.png)
![](https://img2020.cnblogs.com/blog/1466638/202005/1466638-20200506190038562-590042598.png)
(2)创建zjs_test数据库
![](https://img2020.cnblogs.com/blog/1466638/202005/1466638-20200506190443241-1730373283.png)
![](https://img2020.cnblogs.com/blog/1466638/202005/1466638-20200506190522181-488536289.png)
![](https://img2020.cnblogs.com/blog/1466638/202005/1466638-20200506191601145-2120058820.png)
(3)创建一个名为user的数据表
![](https://img2020.cnblogs.com/blog/1466638/202005/1466638-20200506192005124-663313881.png)
![](https://img2020.cnblogs.com/blog/1466638/202005/1466638-20200506192357541-920562458.png)
![](https://img2020.cnblogs.com/blog/1466638/202005/1466638-20200506192438786-823994667.png)
(4)插入数据
![](https://img2020.cnblogs.com/blog/1466638/202005/1466638-20200506193449375-926458964.png)
![](https://img2020.cnblogs.com/blog/1466638/202005/1466638-20200506193506462-853124378.png)
![](https://img2020.cnblogs.com/blog/1466638/202005/1466638-20200506193521927-658549995.png)
(5)删除数据
![](https://img2020.cnblogs.com/blog/1466638/202005/1466638-20200506193940117-615222155.png)
![](https://img2020.cnblogs.com/blog/1466638/202005/1466638-20200506193955312-1308144448.png)
![](https://img2020.cnblogs.com/blog/1466638/202005/1466638-20200506194009073-1653325728.png)
五.选做
(1)新建dockerfile_phpmyadmin
![](https://img2020.cnblogs.com/blog/1466638/202005/1466638-20200506195350021-1750830891.png)
(2)在docker-compose.yml里面添加
![](https://img2020.cnblogs.com/blog/1466638/202005/1466638-20200506195433163-173128191.png)
(3)重启之后就可以通过8080端口进入
![](https://img2020.cnblogs.com/blog/1466638/202005/1466638-20200506201316719-635657520.png)
(4)查看表然后也可以增删查改了
![](https://img2020.cnblogs.com/blog/1466638/202005/1466638-20200506201609613-1567290724.png)
六.总结
本次实验还是遇到一些困难,比如自己不清楚文件的编写结构导致直接复制来的文件出错debug大概两个多小时,所幸在同学大佬的帮助下还是解决了,总共大概花了将近7个小时的时间,但是都是值得的,加深了我非常多的理解,希望后面的作业能够仔细一点。