zoukankan      html  css  js  c++  java
  • 2020系统综合实践 第2次实践作业

    1.实现一个自定义的web容器服务

    推荐 apache或 nginx,要求标明镜像作者信息,安装必要的工具以方便维护;设定你自己的 web存放目录,安全起见,请将默认的监听端口 80更改为你自定义的端口,并且声明暴露的端口,容器启动时,能直接进入 web代码的存放目录。

    1.1拉取基础镜像

    • 拉取最新的nginx镜像
    docker pull nginx
    
    • 查看是否成功拉取

    1.2文件配置

    • 查看并复制复制默认的nginx配置代码
    sudo docker run --name nginx-test -p 8080:80 -d nginx
    sudo docker exec -it [容器id] /bin/bash
    cd /etc/nginx/conf.d
    cat default.conf
    
    • 在主目录(/home/xb)下创建文件夹myDocker,存放如下几个文件
    • default.conf
      在复制的代码的基础上将listen端口号改为2333,将root目录修改为刚才创建的文件夹目录
    • Dockerfile(后来把01去掉了)
    • index.html

    1.3使用Dockerfile创建定制nginx

    • 进入刚才创建的目录/home/xb/myDocker,创建镜像xbnginx
    sudo docker build -t xbnginx .
    
    • 查看是否创建成功
    docker images
    

    1.4运行容器验证结果

    • 运行一个容器(上一步创建的镜像有点问题重新创了个xbnginx3这里就不截图了)
    sudo docker run --name xbnginx01 -p 1859:2333 -d xbnginx3
    
    • 在firefox查看localhost:1859,查看是否对应自定义index.html

    2.实现一个自定义的数据库容器服务

    可选择 Mysql,Mariadb等,要求标明镜像作者信息,为了方便维护,需要能够查看容器内的配置信息,包括但不限于网络、应用配置文件等。在环境变量中设置好数据库的 root密码且不允许空密码登录,创建一个测试数据库,指定用户名和密码。

    2.1拉取mysql

    • 拉取mysql 5.7

    2.2文件配置

    • 在主目录(/home/xb)下创建文件夹mysql,存放如下几个文件
    • Dockerfile
    • privileges.sql
    • schema.sql
    • setup.sh

    2.3使用Dockerfile创建定制mysql

    • 进入刚才创建的目录/home/xb/mysql,创建镜像xbsql
    sudo docker build -t xbsql .
    
    • 查看是否创建成功
    docker images
    

    2.4运行容器验证结果

    • 运行一个容器并进入
    sudo docker run --name sqltest0 -p 3306:3306 -d xbsql
    sudo docker exec -it sqltest0 /bin/bash
    
    • 输入密码,进入数据库(用户xb)
    mysql -u xb -p
    
    • 查看已创建的数据库
    show databases
    
    • 进入数据库docker_mysql查询刚才创建的表user
    use docker_mysql
    select * from user;
    
    • exit退出,尝试用root用户登录
    mysql -u root -p
    
    • 查看mysql配置信息(部份)
    show variables
    
    • exit退出容器,查看容器信息
    docker inspect sqltest0
    

    3.总结

    3.1 教程推荐

    • 这次实验对我来说难度比较大,即使看了教程也还有很多地方需要看同学的博客才明白要怎么做...这里推荐一个很实用的docker基础教程:Docker.html(思维导图)

    3.2 问题解决

    • 这次难点主要在如何下手,有了思路之后过程中倒是没遇到什么大问题,中间有遇到一个警告:
      创建容器时WARNING: IPv4 forwarding is disabled. Networking will not work.
      
      解决方法:
      vim /usr/lib/sysctl.c/00-system.conf
      
      在最后插入:
      net.ipv4.ip_forward=1
      
      重启network服务:
      systemctl restart network
      
      删除错误的容器,再次创建即可
  • 相关阅读:
    【C#】C#8.0常用新特性
    【Docker】Asp.net core在docker容器中的端口问题
    【gRPC】ProtoBuf 语言快速学习指南
    【日常排雷】 .Net core 生产环境appsetting读取失败
    【gRPC】 在.Net core中使用gRPC
    raspbian buster阿里镜像
    管道通信
    关于utf8mb4的使用
    ef core数据迁移的一点小感悟
    windows 端口转发
  • 原文地址:https://www.cnblogs.com/xbrucken/p/12764060.html
Copyright © 2011-2022 走看看