1.pull個基礎系統鏡像,我這裏使用的是centosdocker
docker pull centos
這個鏡像名稱太複雜,用着不方便,換個名字:centos
docker tag docker.io/centos centos
呦,這咋有倆鏡像,兩個鏡像的IMAGE_ID同樣,說明是同一個鏡像,幹掉一個:bash
docker rmi docker.io/centos
這下看起來爽多了,但刪除鏡像時不要用IMAGE_ID刪,不然這樣會把這倆都刪掉的,好比這樣測試
docker rmi e934aafc2206
2.下載一個jre傳到該機器某個目錄下,假設目錄爲:/opt/images,也能夠是jdk,由於只須要Java運行環境,而jdk比較大,使用jdk製做相應的基礎鏡像出來也會比較大,jre足矣ui
3.製做Dockerfile文件code
docker在製做鏡像時必須有該文件,而且文件名Dockerfile不能變:it
FROM centos MAINTAINER goldleaf COPY ./jre1.8.0_161 /usr/opt/jre8 ENV PATH $PATH:/usr/opt/jre8/bin
簡單解釋一下:io
FROM 以哪一個鏡像爲基礎製做新鏡像,咱們上邊已經pull了一個centos鏡像,因此這裏能用,其實這個應該是 FROM centos:latest,可是這裏不加鏡像tag,會默認爲latestclass
MAINTAINER 就是做者是誰test
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基礎鏡像已經制做好