准备
下载 centos
docker pull centos:centos7.3.1611
下载 jdk8 并解压到指定目录
tar -zxvf jdk-8u144-linux-x64.tar.gz
构建
编写Dockerfile
在jdk平级目录创建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的环境变量
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
# 设置时区
RUN rm -rf /etc/localtime && ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
# 安装telnet/ifconfig(用于调测网络使用)
RUN yum install telnet net-tools -y
参数详解
- FROM 指定基础镜像
- MAINTAINER 指定维护者信息
- RUN 在命令前面加上RUN(通常用于执行 linux 命令)
- ADD 从宿主机上复制文件到镜像中
- ENV 设置环境变量
- 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
网友评论