dockerfile指令解析
517人浏览 / 0人评论
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 xiangyuanhong@163.com
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/"]
全部评论