1.pull个基础系统镜像,我这里使用的是centos
docker pull centos
这个镜像名称太复杂,用着不方便,换个名字:
docker tag docker.io/centos centos
呦,这咋有俩镜像,两个镜像的IMAGE_ID一样,说明是同一个镜像,干掉一个:
docker rmi docker.io/centos
这下看起来爽多了,但删除镜像时不要用IMAGE_ID删,否则这样会把这俩都删掉的,比如这样
docker rmi e934aafc2206
2.下载一个jre传到该机器某个目录下,假设目录为:/opt/images,也可以是jdk,因为只需要Java运行环境,而jdk比较大,使用jdk制作相应的基础镜像出来也会比较大,jre足矣
3.制作Dockerfile文件
docker在制作镜像时必须有该文件,并且文件名Dockerfile不能变:
FROM centosMAINTAINER goldleafCOPY ./jre1.8.0_161 /usr/opt/jre8ENV PATH $PATH:/usr/opt/jre8/bin
简单解释一下:
FROM 以哪个镜像为基础制作新镜像,我们上边已经pull了一个centos镜像,所以这里能用,其实这个应该是 FROM centos:latest,但是这里不加镜像tag,会默认为latest
MAINTAINER 就是作者是谁
COPY 把当前文件夹下的jre环境 copy 到docker镜像里的 /usr/opt/jre8 当然这个是随便写的, 注意这里的路径是相对于Dockerfile文件所在的路径, 并不是相对于当前的 pwd 路径
ENV 设置Java环境变量
4.制作镜像
docker build -t jre8:base .
在当前目录下制作一个 REPOSITORY 为 jre8,TAG为base的镜像,注意此文件夹下必须有Dockerfile文件,以及文件中写的jre文件夹
5.测试基础镜像
run镜像,并测试Java命令
docker run -it --privileged jre8:base
ok,Java基础镜像已经制作好