有时候我们需要定制镜像但是如果一直用命令来生成就显得比较繁琐,所以这个时候就需要dockerfile。
下面我们就来定制个基于centos镜像的jdk镜像
首先我们需要下载一个centos镜像,然后创建一个目录dockerfile的目录将jdk放进去
mkdir dockerfile然后创建Dockerfile文件,与jdk同目录
FROM centos
MAINTAINER wz
WORKDIR /usr
RUN mkdir /usr/local/jdk
ADD jdk1.8 /usr/local/jdk
ENV JAVA_HOME=/usr/local/jdk
ENV JRE_HOME=$JAVA_HOME/jre
ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
ENV PATH=/sbin:$JAVA_HOME/bin:$PATH
FROM :指定基于那个镜像 可以填本地有的镜像id
MAINTAINER :指定作者,这个为了规范还是需要加上的
WORKDIR /usr :指定工作目录为 usr下
RUN mkdir /usr/local/jdk :创建文件夹
ADD jdk1.8 /usr/local/jdk 将宿主机的jdk1.8放到镜像文件系统的/usr/local/jdk目录下
ENV 指定环境变量
执行创建镜像 .代表 Dockerfile为当前目录下
docker build -t jdk1.8 .
成功后就会返回一个镜像id,可以通过docker image ls查询发现我们多了一个jdk1.8的镜像
Successfully built 663228369a90
Successfully tagged jdk1.8:latest
这样一个简单的镜像定制酒完成了,其实dockerfile就是将命令放到一个文件中然后通过执行文件来创建定制镜像,只要熟悉下他的常用语法就想要怎么定制一个镜像都可以的额,例子只供参考。