系统综合实践_3

1、安装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
  • 测试是否安装成功

   docker-compose --version

2、编写Dockerfile(LNMP)


  • 创建docker_compose目录&&构建文件

  • 编写Dockerfile

  • default.conf

  • dockerfile_mysql

  • dockerfile_nginx

  • dockerfile_php

  • index.php

  • index.html

3、Compose实现多容器运行机制


  • 编写compose文件

  • 执行docker-compose文件

   sudo docker-compose up -d --build

  • 访问localhost/index.html

  • 访问localhost/index.php

4、服务测试


  • 连接到数据库服务器

  • 修改index.php文件
  • 访问localhost/index.php
  • 创建数据库

  • 修改index.php文件

  • 进入mysql容器,登录数据库查询,可看到Hcr_Base数据库已创建

     sudo docker exec -it  mysql /bin/bash
     mysql -u root -p
     show databases;
    

  • 数据库中创建表

  • 修改index.php文件

  • 查看表

     use Hcr_Base
     show tables;
    

  • 插入数据

  • 修改index.php文件

  • 查询数据

     select * from Student;
    

  • 修改&删除数据

  • 修改index.php文件
  • 查询数据

5、phpmyadmin容器


增加一个phpmyadmin容器,实现web端的数据库管理。

  • 下载镜像

   sudo docker pull phpmyadmin/phpmyadmin

  • 在docker-compose.yml文件末尾中增加如下语句

  • 增加dockerfile_phpmyadmin文件

  • 重新执行docker-compose

   docker-compose up -d --build

  • 访问localhost:9192


6、问题&解决


    在编写完compose文件后执行sudo docker-compose up -d --build时出现端口被apache2占用的情况,访问localhost/index.html进入的是apache2的页面,而非自己设置的页面。解决方法是修改apache2的配置文件,将端口改为8080并重启apache2。

7、总结


    这次作业大概花了我4h的时间,其中大部分时间用在了查找资料和解决端口被占用的问题上,其他方面的话,感觉有很多地方和上一次的步骤很相似,做下来还算顺利。

原文地址:https://www.cnblogs.com/honger125/p/12776765.html