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 清除数据卷
相关推荐
武子康2 天前
调查研究-183 Apple container:Mac 上用轻量 VM 跑 Linux 容器,Swift 会改写本地容器体验吗?
docker·容器·apple
Alsn865 天前
等待学习-学习目录:Docker 容器安全攻防
学习·安全·docker
程序员老赵5 天前
服务器没有桌面?Docker 跑个 Chrome,浏览器就能远程用
docker·容器·devops
杨浦老苏5 天前
轻量级Docker仪表板Servedash
运维·docker·监控·群晖·仪表板
正经教主5 天前
【docker基础】 第八周:容器监控与应用更新策略
运维·docker·容器
kiros_wang5 天前
Docker 使用完整指南
运维·docker·容器
正经教主5 天前
【docker基础】第九周:Docker安全与镜像优化
运维·docker·容器
CodeStats5 天前
【虚拟机】 从 CPU 指令到虚拟机隔离:虚拟机就是一个“模拟了完整硬件的普通进程”
java·docker
ai产品老杨5 天前
突破安防碎片化:基于 Docker 与边缘计算的 AI 视频智能化中台,如何通过 GB28181/RTSP 统一接入与全套源码交付实现二次开发自由?
人工智能·docker·边缘计算
正经教主5 天前
【docker基础】第十三周:学习总结与进阶方向【完结】
运维·docker·容器