概述:
Dockerfile是用来构建镜像的文本文件,包含自定义的指令和格式;Dockerfile描述了组装镜像的步骤,每一条指令都是单独执行的,除FROM外,其他指令都是在上一条指令所生成镜像的基础上执行的,执行完后会生成一个新的镜像层,新的镜像层覆盖在原来的镜像之上形成新的镜像,Dockerfile所生成的最终镜像就是在基础镜像上面叠加一层层的镜像层组建的。
使用:
Dockerfile文件类似于Maven中的pom文件,Maven是通过mvnpackage命令打包pom文件描述的jar、war、ear包,在Docker中,制作镜像的命令是dockerbuild -t ImageName:tagDockerfile,参数:-t指定镜像的名字和版本。
常用命令:
FROM:FROM:表示设置基础镜像
MAINTAINER:MAINTAINER填写编写该dockerfile的作者
RUN:RUN command为可执行的shell命令,默认为/bin/sh;
EXPOSE:EXPOSE
指定该镜像需暴露的端口号
ADD:ADD 将文件、目录、URL指定的文件添加至镜像中
COPY:COPY 将文件、目录、URL指定的文件拷贝至镜像中
ENV:ENV =设置环境变量;在此设置的环境变量,子镜像依然可见
镜像制作案例:
写一个Dockerfile文件如下
FROM 10.92.10.92:5000/toptop_containers/tomcat7-jre7:v2.0
MAINTAINER"toptop_top"
ADD web.war /usr/local/tomcat/webapps/
ADD context.xml /usr/local/tomcat/conf
ADD catalina.sh /usr/local/tomcat/bin
RUN chmod 777 /usr/local/tomcat/conf/context.xml
RUN chmod 777 /usr/local/tomcat/bin/catalina.sh
第一行代表这个镜像的基础镜像来自一个镜像仓库的tomcat+jdk的基础镜像。
第二行代表制作这个镜像作者名;第三行至第五行将部署的war以及修改的配置文件加入镜像对应的目录
第六行至第七行,对配置文件授权。
最后,用dockerfilebuild镜像。最好build成你要上传的仓库名+版本,如下:
dockerbuild -t 10.92.10.92:3000/comcomdev:v2.0 .特别注意最后要加“.”
--完--
领取专属 10元无门槛券
私享最新 技术干货