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

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

    docker pull  centos:centos7.7.1908

    vim Dockerfile

    #centos系统镜像
    FROM centos:centos7.7.1908                                                                                                                                             
    LABEL maintainer="yindesheng <941268778@qq.com>"
    RUN yum install -y wget && rm -rf /etc/yum.repos.d/* && wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo 
        && yum install -y gcc make autoconf gcc-c++ glibc glibc-devel pcre pcre-devel openssl epel-release 
        openssl-devel systemd-devel zlib-devel vim lrzsz tree tmux lsof tcpdump wget 
        net-tools iotop bc bzip2 zip unzip nfs-utils man-pages 
        && yum clean all 
        && rm -rf /etc/localtime 
        && ln -s ../usr/share/zoneinfo/Asia/Shanghai /etc/localtime
    CMD ["/bin/bash"]

    docker build -t  centos-base:1.7 .

    vim Dockerfile 

    #nginx编译镜像
    FROM centos-base:1.7                                                                                                                                                   
    LABEL maintainer="yindesheng<941268778@qq.com>"
    ADD nginx-1.16.1.tar.gz /usr/local/src
    RUN cd /usr/local/src/nginx-1.16.1  && ./configure --prefix=/apps/nginx  && make && make install 
        && rm -rf /usr/local/src/nginx* 
        && useradd -r nginx
    COPY nginx.conf /apps/nginx/conf/
    EXPOSE 80 443
    CMD ["/apps/nginx/sbin/nginx"]

     docker build -t nginx-centos7:1.16.1 . 


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

    FROM:指明基础镜像

    LABEL:指明镜像元数据,如:镜像作者

    RUN:执行shell指令

    CMD:容器启动命令

    ENTRYPOINT:容器启动后默认执行的命令及参数

    EXPOSE:暴露端口

    COPY:复制文本

    ADD:复制和解压文件

    ENV:设置环境bianliang

    VOLUME:挂载点

    USER:指定当前用户

     

    3.请写出dockerfile的分层原理

           容器其实是在镜像的最上面加了一层读写层,在运行容器里文件改动时,会先从镜像里要写的文件复制到容器自己的文件系统中(读写层)。
    如果容器删除了,最上面的读写层也就删除了,改动也就丢失了。所以无论多少个容器共享一个镜像,所做的写操作都是从镜像的文件系统中复制过来操作的,

    并不会修改镜像的源文件,这种方式提高磁盘利用率。镜像打包也只打包差异镜像。

  • 相关阅读:
    【智能家居篇】wifi网络接入原理(上)——扫描Scanning
    ExtJS学习-----------Ext.Array,ExtJS对javascript中的Array的扩展
    android之JSON 进行网络数据交换
    ios应用接入微信开放平台
    android 视频文件不能进行幻灯片的播放
    打一辈子的工才是最大的风险
    《梦断代码》摘录及感悟
    android怎样查看当前project哪些profile是打开的
    Cocos2d-x 游戏存档
    CBitmap,HBitmap,Bitmap区别及联系
  • 原文地址:https://www.cnblogs.com/yds941268778/p/13423487.html
Copyright © 2011-2022 走看看