zoukankan      html  css  js  c++  java
  • 10周作业

    1.通过dockerfile 制作centos系统镜像然后再制作 nginx编译镜像
    制作centos镜像
    vim Dockerfile

    FROM centos:centos7.8.2003
    LABEL version="v1.0"
    RUN rm -f /etc/localtime && ln -s ../usr/share/zoneinfo/Asia/Shanghai /etc/localtime &&
    mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak &&
    curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo &&
    sed -ri '/mirrors.aliyuncs.com|mirrors.cloud.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo &&
    curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo &&
    yum -y install wget vim net-tools iproute psmisc bash-completion lsof tcpdump tree file &&
    rm -rf /var/cache/yum/* && useradd -u 80 -r -s /sbin/nologin www

    docker build -t centos7.8:v1.0 .

    mkdir nginx
    wget http://nginx.org/download/nginx-1.18.0.tar.gz
    vim Dockerfile
    内容如下:
    FROM centos7.8:v1.0
    LABEL version="nginxv1.0"
    ADD nginx-1.18.0.tar.gz /usr/local/src/
    RUN yum -y install gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel &&
    rm -rf /var/cache/yum/* && cd /usr/local/src/nginx-1.18.0 &&
    ./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_ssl_module
    --with-http_realip_module --with-http_sub_module && make && make install && mkdir -p /data/web &&
    echo "nginx in test" > /data/web/index.html &&
    sed -ri '3a daemon off;' /usr/local/nginx/conf/nginx.conf
    EXPOSE 80 443
    CMD /usr/local/nginx/sbin/nginx

    docker build -t centos7.8:nginx_v1.0 .
    docker run -d -it --name nginx1 centos7.8:nginx_v1.0


    2.写出10个常用的dockerfile 脚本参数及使用说明

    FROM         指定基础镜像来源
    RUN          构建镜像运行的命令
    EXPOSE        当前镜像对外暴露的端口号
    CMD         镜像制作build时运行的命令,切只有一条
    ENV        dockerfile里面的环境变量
    COPY         拷贝文件或者
    VOLUME    容器数据卷,用于保存容器数据到宿主机
    ADD        复制和解压缩包
    LABEL        指定镜像源数据
    USER        指定容器运行时的用户名
            

    3.请写出dockerfile的分层原理

    Dockerfile通常会指定基础镜像,这个可以认为是系统层,复制文件、执行命令等操作时会生成新的镜像层,每层只记录本层所做的更改,
    而这些层都是只读的,当启动一个容器,Docker 会在最顶部添加读写层,
    用户在容器内做的所有更改,如写日志、修改、删除文件等,都保存到了读写层内,一般称该层为容器层。

  • 相关阅读:
    CodeForces 825G"Tree Queries"(选根建树)
    技术日记
    [express.js 使用笔记] ajax询问数据,却显示在浏览器上,该怎么办?
    node.js 基础和文件操作 笔记
    JSON 笔记
    CSS 学习笔记(一)选择器
    cf1321E
    [学习笔记] 后缀数组
    Python 编程练习
    《明朝那些事儿》 读书笔记
  • 原文地址:https://www.cnblogs.com/blchangkong/p/13492967.html
Copyright © 2011-2022 走看看