zoukankan      html  css  js  c++  java
  • 第3次实践作业

    一、安装Docker-compose

    1)参考了同学的root权限下换源下载只用了几秒。

    sudo su进入root权限

    curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

     

    (2)将可执行权限应用于二进制文件测试是否安装成功

    sudo chmod +x /usr/local/bin/docker-compose

    sudo docker-compose --version

     

    二、Dockerfile编写

    1)拉取nginx镜像、php镜像、mysql镜像

    • nginx镜像 

    sudo docker pull nginx:latest

     

    • 拉取php镜像

    sudo docker pull php:7.4-fpm

     

    • 拉取mysql镜像

    sudo docker pull mysql

     

    2)Dockfile文件的编写

    2.1 创建docker_compose文件夹,目录结构如下

     

    2.2 创建dockerfile_mysql、dockerfile_php、default.conf、docker-compose.yml、dockerfile_nginxindex.htmlindex.php文件

    • dockerfile_mysql

     

    • dockerfile_php

     

    • default.conf

     

    • docker-compose.yml

     

    • dockerfile_nginx

     

    • Index.html

     

    • Index.php

     

    三、使用Compose实现多容器运行机制

    1)查看docker_compose文件夹的树状结构

    sudo apt install tree

    cd docker_composetree

     

    tree

     

    2)执行docker-compose文件

    sudo docker-compose up -d --build

     

    3)查看容器

    sudo docker ps -a

     

    4)查看镜像

    sudo docker images

     

    5)访问localhost/index.html

     

    (6)访问localhost/index.php

    四、服务测试

    1)检测PHP是否能够成功连接Mysql数据库

    1.1 修改index.php文件

     

    1.2 访问localhost/index.php

     

    2)数据库相关操作

    2.1 创建数据库

     

    访问http://localhost/index.php

    进入mysql容器,查询数据库

    sudo docker exec -it  mysql /bin/bash

    mysql -u root -p

    show databases;

     

    2.2 创建数据表

     

    访问网页

     

    使用myDB数据库并查询数据表

     

    use myDB

    show tables;

     

    2.3 向数据表中插入数据

     

    访问页面

     

    查询数据库

    select * from user;

     

    2.4 修改数据

     

    访问页面

     

    查询数据库

    select * from user;

     

    2.5 删除数据

     

    访问页面

     

    查询数据库,xiaoming已经被删除

    select * from user;

     

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

    1)在docker-compose.yml文件中增加以下代码

     

    (2)创建dockerfile_phpmyadmin文件

     

    (3)执行docker-compose文件

     

    (4) 访问localhost:8080/index.php

     

    5.1 登录成功后

    5.2 选择myDB数据库查看user表数据

    六、出现的问题及解决方案

    1. 执行docker_compose文件时创建mynginx失败

     

    查看报错信息发现之前做实验时已经创建过mynginx容器,sudo docker ps -a查看之前创建的mynginx容器id,sudo docker rm id把创建过的容器删除,再重新build即可解决

     

     

    2. 增加一个phpmyadmin容器执行dockerfile_compose文件时出错


    报错原因为找不到指定的dockerfile文件,仔细检查后发现文件名写错了一个单词,改正后重新执行得到解决。

    七、所花时间和总结

    先是花了大概一上午的时间了解了一下Docker Composephp,下午则是实际操作,期间也借鉴已经做好的同学的博客,总体做下来还是比较顺利的,晚上则完成博客,所以总体下来花了将近一天的时间。这次作业让我意识到细心的重要性,还有就是要仔细查看报错信息,报错信息是解决问题的关键。这次作业使我对docker的理解更深刻了。

  • 相关阅读:
    sslforfree的证书合并成类似于certbot的ssl证书文件
    190129 胡思乱想
    Android deprecated apache module (HttpClient, HttpResponse, etc.)
    黑阀 adb 命令
    windows10 vs2019 + opencv 3.4.7环境搭建
    ASP.NET MVC 微信公众号支付,微信公众平台配置
    jQuery 滚动条 滚动到底部(下拉到底部) 加载数据(触发事件、处理逻辑)、分页加载数据
    js显示yyyy年mm日dd天 星期几 的格式日期
    jQuery对 动态添加 的元素 绑定事件(on()的用法)
    Jquery判断页面图片是否加载失败,加载失败则显示默认图片
  • 原文地址:https://www.cnblogs.com/cy0850/p/12845980.html
Copyright © 2011-2022 走看看