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

Dockerfile 制作常用命令总结

1.FROM( from ) :

FROM :

from 表示选择一个镜像作为基础镜像(在一个Dockerfile 中可以使用多条from,来构建多个镜像)

2.ENV :=

用来在镜像创建出的容器中声明环境变量,如:

ENV PYTHONIOENCODING='utf-8'

声明python中文环境变量默认为‘utf-8’

3.WORKDIR

WORKDIR:

用来指定当前的工作目录,使用该命令后,接下来的每一层的工作目录都会切换到指定的目录

4.COPY

copy

复制本机中的目录到镜像指定的目录下

5.ADD

ADD

add 与copy 功能相似,都支持将本地的文件复制到镜像指定目录中,但是add还可以添加网络文件下载地址以及压缩归档文件,推荐使用copy

6.RUN

RUN (shell格式)

RUN ["executable", "param1", "param2"] (exec格式,推荐使用)

run 指令会在前一条命令创建出的镜像的基础上创建一个容器,并在容器中执行run 后面的命令,在命令结束后会将该容器提交给镜像并成为新的镜像

7.CMD

CMD (shell格式)

CMD ["executable", "param1", "param2"] (exec格式,推荐使用)

CMD ["param1", "param2"] (为ENTRYPOINT指令提供参数)

cmd 指令为容器运行时提供默认的命令或参数,一个DockerFile 可以有多条CMD指令,但是只有最后一条CMD指令有效

.run 命令行会覆盖CMD命令

8.ONBUILD

ONBUILD 指令后面跟的是其它指令,例如 RUN , COPY 等。这些指令,在当前镜像构建时不会被执行,当以当前镜像为基础镜像,构建下一级镜像时才会被执行

9.ENTRYPOINT

ENTRYPOINT (shell格式)

ENTRYPOINT ["executable", "param1", "param2"] (exec格式,推荐格式)

entrypoint 与 cmd 命令类似,都是为容器提供默认的启动命令,但是cmd可以添加参数,而entrypoint只能提供命令,注意run 命令行会覆盖CMD命令,但是不能覆盖entrypoint

10.VOLUME

VOLUMN ["", "路径2"...]

VOLUMN

volume命令可以将容器作为匿名卷挂载到宿主机目录上。在执行docker run时,如果没有指定 -v 选项,则默认会将VOLUMN指定的目录挂载为匿名卷

11.EXPOSE

EXPOSE [ ...]

为该镜像生成的容器提供默认的服务端口(不指定expose 命令的话,容器是默认不暴露端口,只能在启用容器时使用-p暴露端口)

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

相关文章:

  • uniapp项目实践总结(十七)实现滚动触底加载
  • SAP入门到放弃系列之QM质量检验流程概述
  • Ansys Zemax | 光学系统设计中如何使用玻璃替换方法来优化玻璃
  • springboot基础--实现默认登录页面
  • TDesign WXS语法
  • Iterator设计模式
  • ROS 入门
  • 第四章 Linux网络编程
  • 无涯教程-JavaScript - OFFSET函数
  • rust切片
  • 2023/9/18 -- C++/QT
  • vue柱状图+折线图组合
  • js中如何实现一个简单的防抖函数?
  • mysq 主从同步错误之 Error_code 1032 handler error HA_ERR_KEY_NOT_FOUND
  • 蓝桥杯 题库 简单 每日十题 day4
  • l8-d21 域名解析与http服务器实现原理
  • 网络安全(黑客技术)自学规划
  • 阻止用邮件不停注册wordpress账户的方法
  • 低代码工具大比拼:哪个最适合你?
  • 用Python实现链式调用
  • 基于SSM的汽车租赁后台管理系统
  • Word 文档转换 PDF、图片
  • 解决Permission is not allowed后基于Ubuntu23.04安装配置docker与docker-compose
  • [ABC118D] Match Matching
  • 程序员必须掌握哪些算法?
  • Java高级之File类、节点流、缓冲流、转换流、标准I/O流、打印流、数据流
  • 解决WSL2占用内存过多问题(Docker on WSL2: VmmemWSL)
  • 华为云云耀云服务器L实例评测|了解配置和管理L型云服务器
  • 【面试题】——Java基础篇(33题)
  • 记一次 .NET 某电力系统 内存暴涨分析