• 第二次实践作业


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

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

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

    1:pull nginx,运行容器,复制/etc /nginx/ conf.d /default.conf的内容

    2:在主目录下创建mdir,用于存文件

    mkdir mdir

    3:在mdir中创建文件:
    (1):default.conf:粘贴,修改:更改端口为3600,更改root为本地路径

    (2):编写index.html

    (3):创建dockefile(镜像名也为dockerfile)

    4:docker build 命令创建容器

    5:查看容器,运行结果

    ​ 如下图,名为dockerfile的自定义镜像已经构建完成

    ​ 启动自定义镜像

    docker run --name test0 -p 8081:82 -d dockerfile

    (--name是指定进程的名字)

    (容器中可以运行一些网络应用,要让外部也可以访问这些应用,可以通过 -P(大写) 或 -p (小写) 参数来指定端口映射,-P是随机映射一个 49000~49900 的端口到内部容器开放的网络端口,-p是自定义端口映射)

    ​ 在浏览器中访问localhost:8081:

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

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

    1:pull Mysql5.7

    2:创建工作目录,在该目录下创建:

    ​ Dockerfile:

    ​ 容器启动脚本setup.sh

    ​ Mysql的数据库脚本命令schema.sql

    ​ Mysql权限设置命令privileges.sql

    ​ 在工作目录下运行docker build命令

    ​ 查看是否成功构建了镜像

    ​ 运行容器:

    ​ 进入容器:

    ​ 指定用户与密码登陆(已在privileges.sql中创建的用户)

    ​ 查看建好的数据库

    ​ 进入数据库并查表

    ​ 退出普通用户,用root用户登陆

    ​ 查看数据库信息

    ​ 查看mysql配置信息,部分截图如下

    ​ 退出容器,查看log

    (3)遇到的困难

    1:build命令缺了一个符号 ‘ . ‘

    2:docker run命令时没有设置端口映射

    3:Mysql运行一段时间后自动退出

    Docker logs -f sql(镜像ID)

    从日志中我发现问题出在dockerfile,setup.sh,schema.sql中

    Dockerfile和Setup.sh中的路径错误,应将/mysql/改为/usr/mdir/sql

    Schema.sql中,数据项的语法不正确,反引号与单引号混了

    (以前用的sqlserver,没接触过mysql。。)

  • 相关阅读:
    springboot学习入门简易版二---springboot2.0项目创建
    springboot学习入门简易版一---springboot2.0介绍
    mybatis学习系列一(mybatis简介/使用)
    mybatis学习系列--逆向工程简单使用及mybatis原理
    mybatis学习系列五--插件及类型处理器
    enum类使用
    mybatis学习系列四--mybatis generator逆向工程
    mybatis学习系列三(部分)
    常见开源协议及含义
    【maven】常见插件
  • 原文地址:https://www.cnblogs.com/wuchangxing/p/12763043.html
Copyright © 2020-2023  润新知