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

    前言

    上一次作业同学们实现了docker环境的安装和基本配置,已经能够从docker的官方镜像仓库中拉取镜像,初步实现了入门。然而,从官方仓库拉取的镜像是最简单的镜像,在实际应用中经常需要根据需求额外修改镜像,这就涉及到了镜像的定制。在docker中我们可以使用Dockerfile文件实现自定义镜像,本次作业需要完成2个Dockerfile编写实践,掌握编写Dockerfile文件的基本方法。

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

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

    1.1、获取最新版的nginx镜像

    • sudo docker pull nginx

    我在第一步卡了好久,一开始出现docker无法启动,后来一直百度尝试解决,各种重启重装docker都不行。后来我把上次作业的阿里云加速器的一个文件:/etc/docker/daemon.json删掉,终于可以了。然后出现了新的问题,等了好久都没下载完,卡住不动了。我又重新安装阿里云镜像加速器,然后大功告成。

    • /安装阿里云镜像加速器/
      [root@localhost ~]# mkdir -p /etc/docker
      [root@localhost ~]# tee /etc/docker/daemon.json <<-'EOF'
      {
      "registry-mirrors": ["https://9cpn8tt6.mirror.aliyuncs.com"]
      }
      EOF
      [root@localhost ~]# systemctl daemon-reload
      [root@localhost ~]# systemctl restart docker
      ————————————————
      版权声明:本文为CSDN博主「julien71」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
      原文链接:https://blog.csdn.net/julien71/java/article/details/79760919

    1.2、查看nginx镜像是否拉取成功

    • sudo docker images

    1.3、启动nginx容器

    • sudo docker run --name nginx-test -p 8080:80 -d nginx

    1.4、查看容器状态

    • sudo docker ps

    1.5、进入nginx容器并查看其配置信息

    • sudo docker exec -it 059c2a1d8994 /bin/bash
      cd /etc/nginx/conf.d
      cat default.conf

    1.6、在主目录中创建myweb文件夹下创建并修改default.conf文件

    创建并修改default.conf文件的监听端口和根目录
    将监听端口号listen改为1234
    将Web默认目录root修改为/home/zhanghui/myweb

    1.7.在同一目录下创建dockerfile文件并编辑

    1.8.在同一目录下创建index.html文件并编辑

    1.9.打开dockerfile文件并创建镜像

    • sudo docker build -t zhanghui_nginx .

    1.10.查看ssnginx是否创建成功

    • sudo docker images

    1.11.启动ssnginx容器并映射端口

    • sudo docker run --name zhanghui_nginx -p 1234:1234 -d zhanghui_nginx

    12.访问浏览器http://localhost:1234

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

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

    2.1、从镜像库中pull一个mysql镜像,版本为5.7

    • sudo docker pull mysql:5.7

    2.2、在主目录下的mysql文件中创建构建mysql所需的文件

    (1)dockerfile

    (2)setup.sh

    (3)schema.sql

    (4)privileges.sql

    2.3、创建镜像zh_mysql

    • sudo docker build -t zh_mysql .

    2.4、查看镜像

    • sudo docker images

    2.5、运行容器

    • sudo docker run --name zhmysql -p 3306:3306 -d zh_mysql

    2.6、查看容器状态

    • sudo docker ps -a

    2.7、查看日志记录

    • sudo docker logs zhmysql

    2.8、验证结果

    (1)执行exec命令进入lxtmysql容器

    • sudo docker exec -it lxtmysql /bin/bash

    (2)使用docker用户登录数据库

    • mysql -u docker -p
      输入密码通过验证 密码:123456

    (3)切换至docker_mysql数据库

    • use docker_mysql

    (4)查询user表并退出mysql

    • show tables;
  • 相关阅读:
    优化SQL查询:如何写出高性能SQL语句
    提高SQL执行效率的16种方法
    Spring Ioc DI 原理
    java内存泄漏
    转:js闭包
    LeetCode Best Time to Buy and Sell Stock III
    LeetCode Best Time to Buy and Sell Stock with Cooldown
    LeetCode Length of Longest Fibonacci Subsequence
    LeetCode Divisor Game
    LeetCode Sum of Even Numbers After Queries
  • 原文地址:https://www.cnblogs.com/booob/p/12770608.html
Copyright © 2011-2022 走看看