从0到1,搭建一个自己的docker镜像

66 阅读1分钟

FROM # 基础镜像,当前新镜像是基于哪个镜像的

MAINTAINER # 镜像维护者的姓名混合邮箱地址

RUN # 容器构建时需要运行的命令

EXPOSE # 当前容器对外保留出的端口

WORKDIR # 指定在创建容器后,终端默认登录的进来工作目录,一个落脚点

ENV # 用来在构建镜像过程中设置环境变量

ADD # 将宿主机目录下的文件拷贝进镜像且 AD D命令会自动处理 URL 和解压 tar 压缩包

COPY # 类似 ADD,拷贝文件和目录到镜像中!

VOLUME # 容器数据卷,用于数据保存和持久化工作

CMD # 指定一个容器启动时要运行的命令,dockerFile 中可以有多个 CMD 指令,但只有最 后一个生效!

ENTRYPOINT # 指定一个容器启动时要运行的命令!和 CMD 一样

ONBUILD # 当构建一个被继承的 DockerFile 时运行命令,父镜像在被子镜像继承后,父镜像的 ONBUILD 被触发

USER 指定当前用户

举个例子:创建一个java镜像

from centos # 依赖的基础镜像
WORKDIR /java # 设置工作目录,不存在则创建
COPY ./jdk/* ./ # 复制jdk到当前目录
ENV JAVA_HOME /java 设置环境变量
ENV PATH $JAVA_HOME/bin:$PATH  
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime # 设置时间