Docker学习笔记:Dockerfile文件的应用

文章目录

    • [一、什么是Dockerfile 文件](#一、什么是Dockerfile 文件)
    • [二、dockerfile 怎么书写,语法格式,注意事项](#二、dockerfile 怎么书写,语法格式,注意事项)

一、什么是Dockerfile 文件

Dockerfile是用于构建Docker镜像的文本文件,它包含了一系列的指令和参数,用于定义镜像的构建过程。

二、dockerfile 怎么书写,语法格式,注意事项

  • 书写格式

    • 每个指令占据一行,以大写字母开头。
    • 指令后面可以跟随一个或多个参数。
    • 使用#符号可以添加注释。
  • 常用命令及应用

    • FROM:指定基础镜像。

      例如:FROM ubuntu:latest

    • MAINTAINER:指定镜像的作者信息。

      例如:MAINTAINER John Doe johndoe@example.com

    • RUN:在镜像中执行命令。

      例如:RUN apt-get update && apt-get install -y curl

    • CMD:指定容器启动时要执行的命令。

      例如:CMD

    • EXPOSE:声明容器运行时监听的端口。

      例如:EXPOSE 8080

    • ENV:设置环境变量。

      例如:ENV PATH=/usr/local/bin:$PATH

    • ADD:将文件或目录复制到镜像中。

      例如:ADD app.tar.gz /opt/app/

    • COPY:将文件或目录复制到镜像中(与ADD类似,但更推荐使用COPY)。

      例如:COPY app.py /opt/app/

    • WORKDIR:设置工作目录。

      例如:WORKDIR /opt/app/

    • VOLUME:声明容器中的挂载点。

      例如:VOLUME /data

    • ENTRYPOINT:配置容器启动时执行的命令。

      例如:ENTRYPOINT

    • ARG:定义构建时的参数。

      例如:ARG VERSION=1.0

    • LABEL:为镜像添加元数据。

      例如:LABEL version="1.0" description="My Docker Image"

通过组合和使用这些命令,可以构建出符合需求的Docker镜像。

  • 注意事项:
    • 指令的顺序很重要,尽量将耗时较长的指令放在后面,以便利用Docker的缓存机制。
    • 使用.(点)表示当前目录,可以通过COPY或ADD指令将文件复制到镜像中。
    • 尽量使用绝对路径来指定文件或目录的位置。
    • 避免在Dockerfile中安装不必要的软件包,以减小镜像的大小。
    • 使用多个RUN指令可以利用Docker的缓存机制,减少镜像的构建时间。
相关推荐
ysa051030几秒前
优先队列贪心dp
c++·笔记·算法·板子
霁月的小屋11 分钟前
Docker 工程化实践(二):理解镜像分层与容器文件系统
运维·docker·容器
其实防守也摸鱼12 分钟前
前端应用的离线暂停更新策略:构建稳定可靠的渐进式部署方案
服务器·前端·数据库·学习·ai·命令行·linux系统
MartinYeung533 分钟前
[论文学习]Mamba:具有选择性状态空间的线性时间序列建模
学习
j7~34 分钟前
【数据结构初阶】队列的实现(链式队列 + 循环队列)--详解
c语言·开发语言·数据结构·学习·队列·queue·c\c++
沐苏瑶1 小时前
计算机网络核心笔记:打通 TCP/UDP 与 HTTP/HTTPS 底层逻辑(重点上)
笔记·计算机网络·http·https
天天爱吃肉82182 小时前
AI Agent时代你的经验值多少钱?
人工智能·python·功能测试·学习·汽车
hongyucai6 小时前
随意学习-模型工程:因子、隐空间、采样策略
学习
Amazing_Cacao10 小时前
CFCA精品可可产区风土体系(亚洲):彻底拒绝应试背诵,将感官复核作为检验真实物理差异的唯一铁律
学习
谙弆悕博士13 小时前
信息系统项目管理师教程(第4版)笔记——第 2 章 信息技术发展
笔记·职场和发展·软考高级·软考·高项·项目经理