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

一文读懂Docker之Dockerfile基本使用

目录

一、基本指令

1、FROM指令

2、MAINTAINER指令

3、RUN指令

4、CMD指令

5、ENTRYPOINT指令

6、ENV指令

7、COPY指令

8、EXPOSE指令

9、LABEL指令

10、WORKDIR指令

二、Shell格式和Exec格式的区别

1、Shell格式

2、Exec格式

三、CMD指令详解

步骤一、定义一个Dockerfile

步骤二、构建镜像image

步骤三、演示正常创建容器

步骤四、演示docker run指定了其他命令,CMD命令会被忽略

四、Dockerfile实战

步骤一、创建路径

步骤二、创建app.py文件

步骤三、创建Dockerfile

步骤四、创建镜像image

步骤五、使用新建的image运行容器


注意:

名称必须为Dockerfile

需要保证路径下只有一个Dockerfile文件

一、基本指令

1FROM指令

  • 设置继承镜像

FROM centos:1.0

若本地有标签为centos:1.0的镜像,则直接使用,否则去镜像仓库下载

2MAINTAINER指令

  • 提供作者信息

MAINTAINER BenjunLu (269793494@qq.com)

3、RUN指令

  • 执行命令并创建新的Image Layer

RUN yum -y update && \

yum install -y net-tools && \

yum install -y wget

4、CMD指令

  • 设置容器启动后默认执行的命令和参数
  • 如果docker run指定了其他命令,CMD命令会被忽略
  • 如果定义了多个CMD,只有最后一个会执行

CMD [ "/bin/echo" , "hello docker" ]

5、ENTRYPOINT指令

  • 设置容器启动时运行的命令
  • 让程序以应用程序或者服务的形式运行
  • 不会被忽略,一定会执行

ENTRYPOINT [ "/bin/bash" , "-c" , "echo hello docker" ]

6、ENV指令

  • 设置环境变量

ENV name Docker

设置name变量的值为Docker

7、COPY指令

  • 复制本地文件到image

COPY app.py /app/

注意:路径最后必须带“/”,不然会复制成一个文件

8、EXPOSE指令

  • 暴露容器端口

EXPOSE 27017

暴露容器端口为27017

9、LABEL指令

  • 设置标签

10、WORKDIR指令

  • 设置容器启动后的工作目录

WORKDIR /app

二、Shell格式和Exec格式的区别

1、S


http://www.kler.cn/a/552633.html

相关文章:

  • 【简历优化】性能调优 — 基础概念篇
  • 高子昂医编---23岁,医疗编上岸,正式开启养老生活
  • 网络安全示意图 网络安全路线图
  • 深度学习笔记——LSTM
  • git 如何显示特定作者的提交历史?
  • 机器学习:k近邻
  • 巧用 PasteMate,联合 DeepSeek 与 LaTeX 高效生成 PDF 文档
  • C#中的图形渲染模式
  • 后端生成二维码,前端请求接口生成二维码并展示,且多个参数后边的参数没有正常传输问题处理
  • 个人shell脚本分享
  • 记一次 Git Fetch 后切换分支为空的情况
  • 【C++笔记】C++11的深度剖析(二)
  • GIT提错分支,回滚提交
  • SOME/IP--协议英文原文讲解7
  • 蓝桥杯 Java B 组之日期与时间计算(闰年、星期计算)
  • 使用API有效率地管理Dynadot域名,参与过期域名竞价
  • 系统学习算法:专题十一 floodfill算法
  • 无人机避障——配置新NX
  • 出现 [ app.json 文件内容错误] app.json: 在项目根目录未找到 app.json (env: Windows,mp 解决方法
  • C#程序中进行打印输出文本