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 清除数据卷
相关推荐
追风林5 小时前
mac 本地docker-mysql主从复制部署
mysql·macos·docker
城南vision7 小时前
Docker学习—Docker核心概念总结
java·学习·docker
wclass-zhengge7 小时前
Docker篇(Docker Compose)
运维·docker·容器
梦魇梦狸º11 小时前
腾讯轻量云服务器docker拉取不到镜像的问题:拉取超时
docker·容器·github
鬼才血脉11 小时前
docker+mysql配置
mysql·adb·docker
詹姆斯爱研究Java11 小时前
Docker 的基本概念和优势
docker
南猿北者13 小时前
docker镜像仓库常用命令
运维·docker·容器
杨浦老苏13 小时前
Docker可视化管理面板DPanel的安装
运维·docker·群晖
航月15 小时前
FTP、ISCSI、CHRONY、DNS、NFS、DOCKER、MARIADB、NGINX、PHP、CA各服务开启方法
nginx·docker·mariadb
微刻时光15 小时前
Docker镜像分成
java·运维·开发语言·docker·容器·镜像