美文网首页
docker 笔记5

docker 笔记5

作者: 光小月 | 来源:发表于2019-07-17 16:30 被阅读0次

    利用commit 理解镜像构成

    当我们运行一个容器的时候(如果不使用卷的话),我们做的任何文件修改都会被记录于容器存储层里。而 Docker 提供了一个 docker commit 命令,可以将容器的存储层保存下来成为镜像。换句话说,在原有镜像的基础上,再叠加上容器的存储层,并构成新的镜像。以后我们运行这个新镜像的时候,就会拥有原有容器最后的文件变化。

    命令:

    docker commit \
    -m "修改了" \
    webserver \
    nginx:v2
    
    

    此时将运行的容器保存为新的镜像

    慎用 docker commit, 如果这样操作,将会导致镜像极为臃肿。

    使用dockerfile定制镜像

    新建dockerFile文件

    mkdir mynginx
    cd mynginx
    touch Dockerfile
    -------------------
    FROM  nginx
    RUN echo '<h1>hello, Docker!</h1>' > /usr/share/nginx/html/index.html
    -------------------
    

    FROM 指定基础镜像
    FROM scratch 意味着你不以任何镜像为基础

    RUN 执行命令
    两种格式:

    • shell 格式:RUN <命令>
    • exec 格式:RUN ["可执行文件", "参数1", "参数2"]
      Dockerfile 支持 Shell 类的行尾添加 \ 的命令换行方式,以及行首 # 进行注释的格式。良好的格式,比如换行、缩进、注释等,会让维护、排障更为容易,这是一个比较好的习惯。

    构建镜像

    docker build -t nginx:v3 .
    (nginx:v3 是将镜像的名和tag)
    docker build 命令会将该目录下的内容打包交给 Docker 引擎以帮助构建镜像。
    Docker 引擎, Docker 在运行时分为 Docker 引擎(也就是服务端守护进程)和客户端工具。Docker 的引擎提供了一组 REST API,被称为 Docker Remote API

    其它 docker build 的用法

    1.1 直接用 Git repo 进行构建

    docker build https://github.com/twang2218/gitlab-ce-zh.git#:11.1

    1.2 用给定的 tar 压缩包构建

    docker build http://server/context.tar.gz

    1.3 从标准输入中读取 Dockerfile 进行构建

    docker build - < Dockerfile

    1.4 从标准输入中读取上下文压缩包进行构建

    docker build - < context.tar.gz

    PS: 若你觉得可以、还行、过得去、甚至不太差的话,可以“关注”一下,就此谢过!

    相关文章

      网友评论

          本文标题:docker 笔记5

          本文链接:https://www.haomeiwen.com/subject/zlxdkctx.html