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

一文读懂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.dtcms.com/a/25274.html

相关文章:

  • 《手机装上DeepSeek R1,开启口袋里的AI超能力》
  • Android Studio:如何用一个store类管理事件、简化管理
  • 详解AbstractQueuedSynchronizer(AQS)源码
  • 考场考试监考系统
  • QT自定义扫描控件,支持任意方位拖动和拖动扫描范围。
  • 数据结构(查找)
  • Python高级语法之urllib
  • Android Studio打包APK
  • 数字化赋能,3D数字博物馆开启沉浸式体验
  • 机器学习(李宏毅)——RNN
  • 第一章 初识LLMs
  • 基于python深度学习遥感影像地物分类与目标识别、分割实践技术应用
  • 从零搭建SpringBoot3+Vue3前后端分离项目基座,中小项目可用
  • Navicat Premium17 连接Oracle出现 “未加载 Oracle库
  • IDEA集成DeepSeek AI助手完整指南
  • 打开多个chrome历史记录
  • JAVA监听器(学习自用)
  • BEV:车轮接地点车辆修正3D框位置精度
  • 【数据结构】(10) 排序算法
  • 设计模式之适配模式是什么?以及在Spring AOP中的拦截器链的使用源码解析。
  • FreeSwitch的应用类模块
  • Python跨年烟花
  • Redis篇(环境搭建)
  • 【故障处理】- 11g迁19C数据泵报错: ORA-39083 ORA-06598 导致数据库大量对象导入不进去
  • Linux基本指令
  • 微信小程序text组件decode属性的小问题
  • WPF8-常用控件
  • 2025年新型智慧城市整体解决方案下载:顶层规划设计,应用总体建设方案
  • 【Linux Redis】关于用docker拉取Redis后,让虚拟机运行起来redis,并使得其可以连接到虚拟机外的navicat。
  • jessionid