Dockerfile相关命令

Dockerfile

Dockerfile 是一个用来构建Docker镜像的文本文件,包含了一系列构建镜像所需的指令和参数。

指令详解

Dockerfile 指令 说明
FROM 指定基础镜像,用于后续的指令构建,必须为第一个命令
MAINTAINER 指定Dockerfile的作者/维护者。(已弃用,推荐使用LABEL指令)
LABEL 添加镜像的元数据,使用键值对的形式。
RUN 在构建过程中在镜像中执行命令。
CMD 指定容器创建时的默认命令,如果存在多个则仅最后一个生效。(可以被覆盖)
ENTRYPOINT 设置容器创建时的主要命令。(不可被覆盖)
EXPOSE 声明容器运行时监听的特定网络端口。
ENV 在容器内部设置环境变量。
ADD 将文件、目录或远程URL复制到镜像中,tar 类型文件会自动解压(网络压缩资源不会被解压)
COPY 将文件或目录复制到镜像中,不会自动解压文件,也不能访问网络资源。
VOLUME 为容器创建挂载点或声明卷。
WORKDIR 设置后续指令的工作目录。
USER 指定后续指令的用户上下文。
ARG 定义在构建过程中传递给构建器的变量,可使用 "docker build" 命令设置。
ONBUILD 当该镜像被用作另一个构建过程的基础时,添加触发器。
STOPSIGNAL 设置发送给容器以退出的系统调用信号。
HEALTHCHECK 定义周期性检查容器健康状态的命令。
SHELL 覆盖Docker中默认的shell,用于RUN、CMD和ENTRYPOINT指令。

构建镜像

复制代码
$ docker build -t=tomcat:v1 .

用法

LABEL

复制代码
# 基本用法
LABEL key=value

# 示例
LABEL \
  com.example.vendor="ACME Incorporated" \
  com.example.label-without-value \
  com.example.version="1.0"
# 每个键可以有可选的前缀,通常遵循逆DNS命名约定,例如 com.example.key。
# 这有助于避免命名冲突,并明确标识标签的来源。

FROM ubuntu:latest

LABEL maintainer="tomy@hbin.com"
LABEL version="1.0"
LABEL description="This is a simple Ubuntu image."

RUN apt-get update && apt-get install -y curl
  • maintainer: 指明了镜像的维护者。
  • version: 提供了镜像的版本号。
  • description: 描述了镜像的用途。

VOLUME

命令 说明
docker volume create 创建数据卷
docker volume ls 查看所有数据卷
docker volume rm 删除指定数据卷
docker volume inspect 查看某个数据卷详情
docker volume prune 清除数据卷
相关推荐
努力进修12 小时前
Docker+cpolar 实战:打造灵活可控的远程办公系统
运维·docker·容器
jieyucx15 小时前
Docker 入门第一阶段:建立正确认知与初体验
运维·docker·容器
jieyucx17 小时前
Docker 入门第二阶段:掌握日常命令
运维·docker·容器
鱼听禅19 小时前
Ubuntu学习笔记-安装docker容器
学习·ubuntu·docker
不会C语言的男孩20 小时前
Docker 在嵌入式设备中的常用玩法
运维·docker·容器
白日焰火120 小时前
Redis 哨兵搭建+ACL权限控制
linux·docker·kubernetes
weixin_3077791321 小时前
Linux下Docker Compose里运行的MySQL数据库故障诊断Shell脚本
linux·运维·mysql·docker·自动化
hj2862511 天前
Docker‑Compose 笔记
笔记·docker·容器
nuo5342021 天前
基础 3 —— Docker 的常用命令
docker·容器
oushaojun21 天前
deepseek教我什么是docker
运维·docker·容器