準(zhǔn)備
下載 centos
docker pull centos:centos7.3.1611
下載 jdk8 并解壓到指定目錄
tar -zxvf jdk-8u144-linux-x64.tar.gz
構(gòu)建
編寫Dockerfile
在jdk平級(jí)目錄創(chuàng)建Dockerfile校镐,內(nèi)容如下:
# 以centos為基礎(chǔ)鏡像
FROM centos:centos7.3.1611
# 指定維護(hù)者信息
MAINTAINER mateng mateng060609@163.com
# 增加宿主機(jī)的文件夾到docker centos的目錄
ADD jdk1.8.0_144 /usr/local/jdk1.8.0_144
# 設(shè)置centos的環(huán)境變量
ENV JAVA_HOME /usr/local/jdk1.8.0_144
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV PATH $PATH:$JAVA_HOME/bin
# 設(shè)置字符集,防止亂碼
ENV LANG en_US.utf8
ENV LC_ALL en_US.utf8
# 設(shè)置時(shí)區(qū)
RUN rm -rf /etc/localtime && ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
# 安裝telnet/ifconfig(用于調(diào)測(cè)網(wǎng)絡(luò)使用)
RUN yum install telnet net-tools -y
參數(shù)詳解
- FROM 指定基礎(chǔ)鏡像
- MAINTAINER 指定維護(hù)者信息
- RUN 在命令前面加上RUN(通常用于執(zhí)行 linux 命令)
- ADD 從宿主機(jī)上復(fù)制文件到鏡像中
- ENV 設(shè)置環(huán)境變量
- WORKDIR 設(shè)置當(dāng)前工作目錄,類似于cd
- VOLUME 設(shè)置卷,掛載主機(jī)目錄
- EXPOSE 指定對(duì)外的端口
- CMD 指定容器啟動(dòng)后要干的事情
構(gòu)建鏡像
docker build -t registry.mateng.pers:5000/centos-java:8 .
命令解釋:
- 域名為 docker 的私服地址
- centos-java為鏡像名稱
- 8為鏡像的tag
- .表示在當(dāng)前目錄進(jìn)行構(gòu)建
上傳鏡像到私服
docker push registry.mateng.pers:5000/centos-java:8