• 2020系统综合实践 第2次实践作业


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

    获取nginx镜像

    sudo docker pull nginx
    

    查看镜像情况

    sudo docker images
    

    启动nginx容器

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

    通过浏览器访问8080端口查看

    进入nginx容器并复制其配置信息:

    sudo docker exec -it 9fa0577f4261 /bin/bash
    cd /etc/nginx/conf.d
    cat default.conf
    

    在/usr/share/nginx路径下创建mydir文件夹,并在该文件下创建文件default.conf,其中监听端口自选,根目录就是放配置文件的地方

    在同一目录下创建dockerfile文件

    #基础镜像
    FROM nginx
    #维护人信息
    MAINTAINER dyssl
    
    #添加文件
    COPY default.conf /etc/nginx/conf.d/
    COPY index.html /usr/share/nginx/mydir/
    #暴露端口
    EXPOSE 5416
    

    在同一目录下创建index.html文件

    结构大概是这样

    在配置文件存放的目录下构建镜像(注意不要漏掉点哦)

    cd /usr/share/nginx/mydir
    sudo docker build -t zyh3nginx .
    

    启动容器并映射窗口

    sudo docker run --name zyh3nginx -d -p 5416:5416 zyh3nginx
    

    最后就可以通过浏览器来访问啦

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

    从镜像库中获取mysql:5.7镜像

    sudo docker pull mysql:5.7
    

    验证查看是否pull成功

    sudo docker images
    

    在~/路径下创建mysql文件夹,并在该文件下创建文件dockerfile文件

    #基础镜像
    FROM mysql:5.7
    #镜像作者
    MAINTAINER DysSl
    #设置不允许免密登录并设置root密码
    ENV MYSQL_ALLOW_EMPTY_PASSWORD no
    ENV MYSQL_ROOT_PASSWORD=106741
    #将配置文件放到容器中
    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

    在同一目录下创建脚本命令schema.sql

    在同一目录下创建权限设置命令privileges.sql

    在配置文件存放的目录下构建镜像

    docker build -t zyh2mysql .
    

    启动容器并映射窗口

    docker run --name zyh2mysql -d -p 2424:2424 zyh2mysql
    

    进入容器

    sudo docker exec -it zyh2mysql /bin/bash
    

    登录数据库

    mysql -u docker -p
    

    切换至docker_mysql数据库

    use docker_mysql
    

    查看Student表中的数据

    select * from Student;
    

    查看容器的配置信息

    sudo docker inspect 3fccf6f5b712
    

    3.遇到的问题

    当时做web容器服务的时候,访问自己的端口报错403

    找了非常久内鬼是谁,最后查了一下日志文件发现是权限的问题

    解决办法:修改web目录的读写权限,或者是把nginx的启动用户改成目录的所属用户,重启Nginx即可解决

    sudo docker exec -it 070e18bc500b /bin/bash 
    chmod -R 777 /usr/share/nginx/mydir
    

    最后感谢那么多给我帮助的人

  • 相关阅读:
    JVM堆内存设置和测试
    转:面试题:“你能不能谈谈,java GC是在什么时候,对什么东西,做了什么事情?”
    JVM--标记-清除算法Mark-Sweep
    JVM 垃圾回收器工作原理及使用实例介绍
    BSGS算法(大小步算法)
    Codeforces Round #606 (Div. 2, based on Technocup 2020 Elimination Round 4)
    Codeforces Round #605 (Div. 3)
    POJ 2516Minimum Cost(最小费用流+特判)
    POJ 3155Hard Life(最大密度子图)
    洛谷P2463 [SDOI2008]Sandy的卡片(后缀数组SA + 差分 + 二分答案)
  • 原文地址:https://www.cnblogs.com/dyssl/p/12768635.html
Copyright © 2020-2023  润新知