zoukankan      html  css  js  c++  java
  • 使用Docker,很多坑(之三):思考

    经过上面两篇文章的介绍,对docker的认识又进了一步。

    1. 我们知道docker的container有两种,一种是基于Linux的,一种是基于windows的,所以如果镜像需要在两个容器中做两个image了,一个是XXXForWindows, 另一个是XXXForLinux。

    2. Image里应该包含什么???应该包含代码吗?这主要取决于你的业务情况,如果你的代码已经非常完备,基本不会怎么变了,使用docker就是想提高部署速度,那么这时候建议你把代码放到docker里。如果还是需要测试修改,那么建议你不要把代码放到image里,而使用外挂。

    Docker File 解释:

    FROM:基础镜像,当前新镜像是基于哪个镜像的

    MAINTAINER:镜像维护者的姓名和邮箱地址

    RUN:容器构建时需要运行的命令

    EXPOSE:当前容器对外暴露出的端口

    WORKDIR:指定在创建容器后,终端默认登陆的进来工作目录,一个落脚点

    ENV:用来在构建镜像过程中设置环境变量

    ADD:将宿主机目录下的文件拷贝进镜像且 ADD 命令会自动处理 URL 和解压 tar 压缩包

    COPY:类似 ADD,拷贝文件和目录到镜像中。(COPY src dest 或 COPY ["src","dest"])

    VOLUME:容器数据卷,用于数据保存和持久化工作

    CMD:指定一个容器启动时要运行的命令,Dockerfile 中可以有多个 CMD 指令,但只有最后一个生效,CMD 会被 docker run 之后的参数替换

    ENTRYPOINT:指定一个容器启动时要运行的命令,ENTRYPOINT 的目的和 CMD 一样,都是在指定容器启动程序及参数

    ONBUILD:当构建一个被继承的 Dockerfile 时运行命令,父镜像在被子继承后父镜像的 onbuild 被触发

  • 相关阅读:
    第09组 Beta冲刺(2/5)
    第09组 Beta冲刺(3/5)
    第09组 Beta冲刺(4/5)
    第09组 Beta冲刺(5/5)
    第09组 Beta冲刺(1/5)
    SDN课程阅读作业(2)
    C语言I作业07
    C语言I博客作业05
    C语言I博客作业04
    C语言I博客作业03
  • 原文地址:https://www.cnblogs.com/friendwang1001/p/12908769.html
Copyright © 2011-2022 走看看