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 清除数据卷
相关推荐
Wzx1980124 分钟前
go聊天室项目docker部署
运维·docker·容器
半夏知半秋8 小时前
docker常用指令整理
运维·笔记·后端·学习·docker·容器
记得记得就15112 小时前
docker作业
运维·docker·容器
HaSaKing_72112 小时前
EMQX 多机集群部署完整实践(Docker + 社区版 5.8.8)
运维·docker·容器·emqx
❀͜͡傀儡师13 小时前
Docker部署WebDB数据库开发环境
docker·容器·数据库开发
南山nash14 小时前
企业级docker镜像仓库harbor安装与使用
运维·docker·容器·镜像仓库
m0_4856146714 小时前
Linux--Docker网络管理
linux·docker·eureka
Knight_AL16 小时前
Docker 中的端口映射原理:为什么 Nginx 要 `listen 80`,而不是“随便写端口”
nginx·docker·容器
小波小波轩然大波16 小时前
docker总结
网络·docker·容器
qq_21539789716 小时前
内网穿透服务 frps
运维·docker·容器