Docker Dockerfile如何编写?Docker Composer该如何使用?

11,549次阅读
没有评论

共计 983 个字符,预计需要花费 3 分钟才能阅读完成。

Dockerfile

Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。

1. 指令说明

  • FROM,构建镜像基于哪个镜像
  • MAINTAINER,镜像维护者姓名或邮箱地址
  • RUN,构建镜像时运行的指令
  • CMD,运行容器时执行的 shell 环境
  • VOLUME,指定容器挂载点到宿主机自动生成的目录或其他容器
  • USER,为 RUN、CMD、和 ENTRYPOINT 执行命令指定运行用户
  • WORKDIR,为 RUN、CMD、ENTRYPOINT、COPY 和 ADD 设置工作目录,就是切换目录
  • HEALTHCHECH,健康检查
  • ARG,构建时指定的一些参数
  • EXPOSE,声明容器的服务端口(仅仅是声明)
  • ENV,设置容器环境变量
  • ADD,拷贝文件或目录到容器中,如果是 URL 或压缩包便会自动下载或自动解压
  • COPY,拷贝文件或目录到容器中,跟 ADD 类似,但不具备自动下载或解压的功能
  • ENTRYPOINT,运行容器时执行的 shell 命令

2. 关键点

RUN 执指令每执行一次都会在 docker 上新建一层。所以过多无意义的层,会造成镜像膨胀过大,大部分命令可以简化如下:

RUN yum -y install wget 
    && wget -O redis.tar.gz "http://download.redis.io/releases/redis-5.0.3.tar.gz" 
    && tar -xvf redis.tar.gz

上下文路径,是指 docker 在构建镜像,有时候想要使用到本机的文件(比如复制),docker build 命令得知这个路径后,会将路径下的所有内容打包。

上下文路径

由于 docker 的运行模式是 C/S。我们本机是 C,docker 引擎是 S。实际的构建过程是在 docker 引擎下完成的,所以这个时候无法用到我们本机的文件。这就需要把我们本机的指定目录下的文件一起打包提供给 docker 引擎使用。

如果未说明最后一个参数,那么默认上下文路径就是 Dockerfile 所在的位置。

Compose 

Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,您可以使用 YML 文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务。

相关说明:https://www.runoob.com/docker/docker-compose.html

    正文完
     0
    Yojack
    版权声明:本篇文章由 Yojack 于2024-09-10发表,共计983字。
    转载说明:
    1 本网站名称:优杰开发笔记
    2 本站永久网址:https://yojack.cn
    3 本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行删除处理。
    4 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
    5 本站所有内容均可转载及分享, 但请注明出处
    6 我们始终尊重原创作者的版权,所有文章在发布时,均尽可能注明出处与作者。
    7 站长邮箱:laylwenl@gmail.com
    评论(没有评论)