当前位置: 首页 > news >正文

Docker 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

Copy
上下文路径,是指 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

http://www.lryc.cn/news/347986.html

相关文章:

  • Python数独游戏
  • 24 | MySQL是怎么保证主备一致的?
  • 2.数据类型与变量(java篇)
  • QT设计模式:桥接模式
  • 简单粗暴的翻译英文pdf
  • UDP和TCP协议比较,TOE技术
  • 第十三节 huggingface的trainner解读与Demo
  • GO: json 处理
  • HarmonyOS开发案例:【生活健康app之实现打卡功能】(2)
  • Mockito框架,帮助创建模拟对象进行测试的利器
  • Spring Boot的工作原理
  • 单点登录和统一身份认证的区别
  • 革新机器人任务规划:TREE-PLANNER引领高效、准确的机器人动作生成新趋势
  • 【数据分析面试】42.用户流失预测模型搭建(资料数据分享)
  • 5.13号模拟前端面试10问
  • 学习使用jQuery将光标移动到textarea的末尾
  • 【送书福利第七期】你好!Java(文末送书)
  • 申贷时,银行级大数据自己能查到吗?
  • 【SVN-TortoiseSVN】SVN 的简介与TortoiseSVN 安装使用教程
  • 5.13学习日志
  • 8种常见的CMD命令
  • 版本控制工具之Git的基础使用教程
  • 五子棋对战(网页版)
  • 在 Ubuntu系统中,可以使用以下几种方法查看网络速率
  • 这是摆脱困境的最好方法
  • OceanBase 中的ROWID与Oracle的差异与如何迁移
  • 秋招后端开发面试题 - JVM运行时数据区
  • 【YOLOv8改进[Backbone]】使用SCINet改进YOLOv8在黑暗环境的目标检测效果
  • ASE docker related research
  • maven .lastUpdated文件作用