dockerfile指令解析

Dockerfile 是一个文本文件,其内包含了一条条的指令 (Instruction),用于构建镜像。

指令集 描述
FROM 指定基础镜像,必须为第一个命令
MAINTAINER 维护者信息
RUN 构建镜像 docker build 时执行的命令
ADD 将本地文件添加到容器中,tar 类型文件会自动解压
COPY 功能类似 ADD,但是是不会自动解压文件,也不能访问网络资源
CMD 在 docker run 时会执行的命令,如果存在多个则仅最后一个生效,例如一个镜像的 dockerfile 的结尾是 “CMD ["/bin/bash"] ”,那么进入容器可以使用 docker exec -it imageName 或 docker exec -it imageName /bin/bash,后者是在 “ CMD ["/bin/bash"] ” 的指令下面多加了一个 “ CMD ["/bin/bash"] ”,根据 CMD 的特性,存在多个时,只让最后一个 CMD 生效,因此不影响
ENTRYPOINT 可执行化
LABEL 用于为镜像添加元数据
ENV 设置环境变量
EXPOSE 指定于外界交互的端口
VOLUME 用于指定持久化目录
WORKDIR 工作目录
ARG 用于指定传递给构建运行时的变量
ONBUILD 用于设置镜像触发器

例如:

FROM harbor.chinauos.com/ustack-manager/ustack-openjdk-base-x86


MAINTAINER [email protected]


USER root


LABEL kolla_version=0.0.1


LABEL app.maintainer=ustack-api


LABEL version="2.0" description="ustack-api"


VOLUME /tmp


EXPOSE 8886


RUN mkdir -p /var/lib/kolla/config_files


ADD target/ustack-api.jar  /app.jar


ENTRYPOINT ["java","-jar","/app.jar","--spring.config.location=/var/lib/kolla/config_files/"]

你可能感兴趣的:(docker,容器,运维)