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

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

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

    安装nginx

    拉取新版的nginx镜像

    docker pull nginx:latest

    查看本地镜像

    docker images

    运行容器

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

    测试是否安装成功

    • 先查看一下本机ip地址

    • 通过浏览器可以直接访问 8080 端口的 nginx 服务

    web容器服务实现

    运行nginx容器

    docker run -it nginx /bin/bash

    更改nginx的web存放目录

    • 修改nginx.conf文件

    • 将default.conf文件复制出来修改

    • 可以在/home/weng目录下看到这个文件,下图中的my-web文件夹就是我要更改的web存放目录

    • 修改conf文件

      原文件:

    ​ 将监听的端口号(listen)从80改为2049;web默认目录(root)从/usr/share/nginx/html改为/home/weng/my-web/

    ​ 修改后的文件:

    创建并编辑dockerfile文件

    创建一个html文件

    注意:要将defau.conf、Dockerfile、index.html三个文件都放在自己创建的my-web文件夹下

    构建镜像

    • 在/home/weng/my-web下构建镜像

      docker build -t mynginx .

    • 查看当前的镜像,在下图中可以看到刚刚构建的镜像:mynginx

      docker images

    • 启动我所创建的mynginx容器并映射端口

      docker run --name mynginx -d -p 8024:2049 mynginx

    • 在浏览器访问端口查看(8024)端口

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

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

    安装MySQL

    • 拉取镜像

      docker pull mysql:5.7

    • 查看镜像是否拉取

      docker images

    数据库容器服务实现

    创建命令文档

    • 这里再建了一个目录,用于存放数据库命令文档

    • dockerfile

    from mysql:5.7
    #基础镜像
    
    maintainer weng
    #维护者信息
    
    ENV MYSQL_ALLOW_EMPTY_PASSWORD no
    #不允许空密码登录
    
    ENV MYSQL_ROOT_PASSWORD=123456
    #root密码
    
    COPY setup.sh /mysql/setup.sh
    COPY schema.sql /mysql/schema.sql
    COPY privileges.sql /mysql/privileges.sql
    #所需文件
    
    CMD ["sh", "/mysql/setup.sh"]
    #启动命令
    
    • setup.sh
    #!/bin/bash
    set -e
    
    #查看mysql服务的状态,方便调试,这条语句可以删除
    echo `service mysql status`
    
    echo '1.启动mysql....'
    #启动mysql
    service mysql start
    sleep 3
    echo `service mysql status`
    
    echo '2.开始导入数据....'
    #导入数据
    mysql < /mysql/schema.sql
    echo '3.导入数据完毕....'
    
    sleep 3
    echo `service mysql status`
    
    #重新设置mysql密码
    echo '4.开始修改密码....'
    mysql < /mysql/privileges.sql
    echo '5.修改密码完毕....'
    
    #sleep 3
    echo `service mysql status`
    echo `mysql容器启动完毕,且数据导入成功`
    
    tail -f /dev/null
    
    • schema.sql
    -- 创建数据库
    create database `docker_mysql` default character set utf8 collate utf8_general_ci;
    
    use docker_mysql;
    
    -- 建表
    DROP TABLE IF EXISTS test;
    
    CREATE TABLE test (
     `id` bigint(20) NOT NULL,
     `name` varchar(255) DEFAULT ""
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
    
    -- 插入数据
    INSERT INTO test (`id`, `name`)
    VALUES
    (021700134,'weng');
    
    • privileges.sql
    use mysql;
    select host, user from user;
    -- 因为mysql版本是5.7,因此新建用户为如下命令:
    create user weng identified by '123456';
    -- 将docker_mysql数据库的权限授权给创建的weng用户,密码为123456:
    grant all on docker_mysql.* to weng@'%' identified by '123456' with grant option;
    -- 这一条命令一定要有:
    flush privileges;
    
    • 把建好的这4个文档一起放在work目录下

    创建镜像

    • 创建一个名为“mysql-weng”的镜像

      docker build -t mysql-weng .

    • 查看

      docker images

    使用镜像创建容器

    • 创建容器

      docker run --name mysql-weng -p 13306:3306 -d mysql-weng

    • 查看容器

      docker ps -a

    使用容器

    • 进入容器并登录

      docker exec -it eda9c18848db /bin/bash

      mysql -u weng -p

    • 查询操作

    • 退出,验证登录

  • 相关阅读:
    回归分析|r^2|Se|变差|多重相关系数|决定系数|多重共线性|容忍度|VIF|forward selection|backward elimination|stepwise regression procedure|best-subset approach|回归方程的置信区间|预测区间|残差分析|虚拟变量
    医学信息学
    扩增|feather evolution
    多因素线性回归|adjusted R^2|膨胀系数|非线性回归|Second-order model with 1 independent variable|Interaction model with 2 independent variables|偏相关|fraction[a]|contribution
    [JAVA]一维数组的创建, 访问数组元素,遍历数组
    method的返回值是String[]时, return {"jerry", "elaine", "george", "kramer"} 不行
    Math.random()生成一维随机数组
    import java.util.Random; 构造函数来取随机数
    Array of pointers: 月份与数字对应 && Array of arrays
    [Bash Scripting LOOP]for, while. until
  • 原文地址:https://www.cnblogs.com/ZKweng/p/12764568.html
Copyright © 2011-2022 走看看