前言:
现在有需求要用docker跑java项目,而且有多个项目,所以我的思路是自己搭建一个基于jdk8的基础镜像,后边所有的项目镜像在这个基础上再编译。
将要用到的技术及软件:
编译方式:Dockerfile
Linux镜像:centos7
jdk:jdk1.8.0_144
这里要构建一个基于centos7和jdk1.8的镜像。
一、下载/查看centos7:
- 1.1 下载centos7镜像:
docker pull centos:7
- 1.2 查看centos7镜像:
docker images
- 1.3、编译Dockerfile
新建一个文件,这里命名为Dockerfile
vi Dockerfile
Dockerfile中的内容:
#配置Dockerfile 文件
FROM centos:7
#指定镜像创建者信息
MAINTAINER gblfy
#ADD 是相对路径jar,把java添加到容器中
ADD jdk-8u191-linux-x64.tar.gz /usr/local/
#配置java环境变量
ENV JAVA_HOME /usr/local/jdk1.8.0_191
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV PATH $PATH:$JAVA_HOME/bin
注:
- 1、这里使用的镜像是上面下载的centos镜像;
- 2、jdk拷贝到Dockerfile同级目录,如果在其它目录拷贝的时候可能出现找不到目录错误;
- 1.4执行命令构建镜像,使用Dockerfile创建镜像
不要少了点跟空格,这很重要
docker build -t='jdk1.8' .
格式:docker build -t “jdk_name” .
注:
模板格式:docker build -t jdk-8u144:20180619 . -f jdkdockerfile
- 1、 -t 指定镜像的名称和tag;
- 2、 使用-f 指定要使用的dockerfile,如果不指定会寻找当前目录名为Dockerfile的文件
- 3、上面有个 . ,这个表示当前目录,必不可少的
- 1.5 查看镜像是否建立完成
docker images
- 1.6 运行创建的镜像
docker run -di --name=dockerjdk jdk1.8
格式:docker run -di --name=jdk_name(自定义) jdk1.8
1.7 进入容器:
docker exec -it dockerjdk /bin/bash
1.8 查看jdk版本:
java -version
参考链接:
https://blog.csdn.net/qq_35981283/article/details/80738451
https://blog.csdn.net/qq_40794266/article/details/83793241