一、准备运行环境
CentOS 7
Docker CE
openjdk-10.0.2_linux-x64_bin.tar.gz
二、安装docker
只需要通过以下命令即可安装Docker软件
yum -y install docker-io
可使用以下命令,查看Docker是否安装成功:
docker version
如果输出看Docker的版本号,则说明安装成功了,可通过以下命令启动Docker服务:
service docker start
如果service命令启动不了用下面的
systemctl start docker.service
查看docker运行状态,出现 active (running) 标明运行成功
systemctl status docker.service
测试Docker环境,Docker环境安装成功会出现:Hello from Docker!
docker run hello-world
三、Docker搭建Java环境
查看docker有关的版本
docker search centos
通过pull获取centos镜像
docker pull centos
四、制作java镜像
楼主的宿主主机是centos7,创建docker目录(这里的位置根据个人喜欢创建,楼主的docker目录跟usr同级)
mkdir docker
准备java安装包,在docker目录下创建jdk10目录,操作如下
cd docker
mkdir jdk10
进入jdk10,然后解压openjdk-10.0.2_linux-x64_bin.tar.gz,创建dockerFile文件(注dockerFile跟解压的java安装包在同一级目录下,既是jdk10下)
cd jdk10
tar -zxvf openjdk-10.0.2_linux-x64_bin.tar.gz
vi dockerFile
编写dockerFile文件
FROM centos:latest
RUN \
mkdir -p /usr/local/jdk
COPY jdk-10.0.2 /usr/local/jdk
ENV JAVA_HOME /usr/local/jdk/
ENV PATH $PATH:$JAVA_HOME/bin
CMD java -version
Dockerfile内容说明
FROM centos:latest
使用之前docker pull centos命令获取的centos镜像做为基础镜像,也可以使用自定义的镜像。
RUN \
mkdir -p /usr/local/jdk
在docker容器中创建目录:/usr/local/jdk,用于存放jdk。
COPY jdk-10.0.2 /usr/local/jdk
从Dockerfile文件所在的目录,copy指定文件。如果需要从宿主机copy文件到docker容器中,一般把文件放在Dockerfile所在的目录下。
例如,在宿主机的/var/docker目录下创建了Dockerfile文件,可以把jdk和应用程序存放在/docker/jdk10目录下。Dockerfile中的COPY命令后的第一个目录是基于此目录。
ENV JAVA_HOME /usr/local/jdk/
ENV PATH $PATH:$JAVA_HOME/bin
设置环境变量,类似java非docker安装的配置。
CMD java -version
运行系统命令,看java 是否安装。
五、构建Docker镜像
docker build -t java10 --rm=true .
注意:java10为自定义名称,最后以小点(.)结束。
运行docker
docker run --name=java java10
停止docker容器或删除docker容器
docker rm java 或者 docker stop java
强制删除(慎用)
docker rmi -f $(docker images -q)