dockerfile常用命令

文章发布于 2023-08-29

Dockerfile 中有许多常用的命令,这些命令可以在构建镜像时指定各种操作。以下是一些常见的 Dockerfile 命令:

FROM

指定基础镜像。

FROM ubuntu:latest

LABEL

添加镜像的元数据信息。

LABEL maintainer="your-email@example.com"

RUN

在镜像构建过程中执行命令。

RUN apt-get update && apt-get install -y package-name

WORKDIR

设置容器内的工作目录。

WORKDIR /app

COPY 和 ADD

复制主机上的文件或目录到容器内。

COPY source destination
ADD source destination

从另一个镜像复制文件到当前镜像中。

COPY --from=source-image /path/to/file /destination/path/

ENV

设置环境变量。

ENV MY_ENV_VAR=my-value

EXPOSE

声明容器运行时需要监听的端口。

EXPOSE 80

CMD

容器启动时默认执行的命令。

CMD ["python", "app.py"]

ENTRYPOINT

定义容器启动时运行的命令,不会被覆盖。

ENTRYPOINT ["./entrypoint.sh"]

VOLUME

声明挂载点,用于在主机和容器之间共享数据。

VOLUME /data

USER

设置在容器内运行命令的用户名或 UID。

USER username

WORKDIR

设置容器内的工作目录。

WORKDIR /app

ARG

声明构建时的变量,可以在 RUN 等指令中使用。

ARG build_arg=default_value

ONBUILD

在父镜像中定义的操作,将在继承的子镜像构建过程中执行。

HEALTHCHECK

检查容器的健康状态。

HEALTHCHECK --interval=5m --timeout=3s CMD curl -f http://localhost/ || exit 1

这些是 Dockerfile 中常见的一些命令,您可以根据需要在 Dockerfile 中组合和使用它们,以构建适合您应用程序的定制化镜像。