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