Dockerfile的使用

Docker 为我们提供了一个叫作Dockerfile的脚本文件,它包括一些指令,通过学习这些指令,可快速编写镜像的构建脚本,从而让构建镜像做到自动化。

FROM centOS:Latest 
// 设置基础镜像:: 仓库名:标签名(若是使用最新版则latest可以省略)
MAINTAINER “qh” 
// 设置维护者信息:: 没有固定格式,推荐姓名+邮箱
ADD jkd.tar /opt 
// 添加文件到容器:: 参数1,源路径(可用相对/绝对路径,一般把源文件与dockerfile文件放在一起,方便源路径书写);
// 参数2 目的路径,只能用绝对路径 
// ADD命令可以自动解压缩文件
COPY jkd.tar /opt 
// 添加文件到容器:: 与ADD命令相似,但不能解压缩
RUN ln -s /opt/ jdk1. 8. 0_ 91 /opt/ jdk 
// 设置镜像制作过程中需要执行的命令
// 执行多条命令可以用多条RUN或用\换行(推荐此种,可以减小镜像的体积)
// eg:RUN /bin/bash -c 'source $HOME/.bashrc; \
// echo $HOME'
CMD /opt/ jdk/ bin/ java –version
// 指定容器启动时需要运行的命令 可以被docker run命令所指定的命令覆盖
// 在Dockerfile中只能有一个CMD指令。如果您列出多个CMD,则只有最后一个CMD将生效。
// ENTRYPOINT类似CMD,但不会被docker run命令所指定的命令覆盖

docker build -t XXXX
// 使用了-t选项来指定镜像的名称,并读取当前目录(即.目录)中的Dockerfile文件。


Dockerfile指令:描述 
FROM:设置基础镜像 
MAINTAINER:设置维护者信息
ADD:设置需要添加到容器中的文件(自动解压)
COPY:设置需要复制到容器中的文件(无法解压) 
USER:设置运行RUN指令的用户
ENV:设置环境变量,可在RUN指令中使用
( eg:
    ENV JAVA_HOME /opt/jdk
    ENV PATH $JAVA_HOME/bin:$PATH
)
RUN:设置镜像制作过程中需要执行的命令
ENTRYPOINT:设置容器启动时需要运行的命令(无法覆盖)
CMD:设置容器启动时需要执行的命令(可被覆盖)
WORKDIR:设置进入容器时的工作目录
EXPOSE:设置可被暴露的端口号(用于“端口映射”)
VOLUME:设置可被挂载的数据卷(用于“目录映射”)
ONBUILD:设置在构建时需自动执行的指令


 

你可能感兴趣的:(微服务)