title: Docker系列之实战:5.基于CentOS构建jdk环境
categories: Docker
tags:
- Docker
timezone: Asia/Shanghai
date: 2019-02-19
环境
宿主机:
[root@centos181001 ~]# cat /etc/centos-release
CentOS Linux release 7.6.1810 (Core)
[root@centos181001 ~]# docker -v
Docker version 18.09.1, build 4c52b90
jdk-8u192-linux-x64.tar.gz
第一步:
1.下载CentOS镜像
docker pull centos:7.6.1810
2.准备jdk文件
mkdir jdk8u192_centos1810
cd jdk8u192_centos1810
tar -vxf jdk-8u192-linux-x64.tar.gz
mv jdk1.8.0_192/ jdk
rm -f jdk-8u192-linux-x64.tar.gz
3.编辑Dockerfile
vim Dockerfile
FROM centos:7.6.1810
COPY jdk /home/jdk
ENV JAVA_HOME=/home/jdk
ENV CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
ENV PATH=$PATH:${JAVA_HOME}/bin
4.生成镜像
docker build --rm -t local/jdk8u192_centos1810:1.0 .
5.使用Image
#### 启动容器并进入容器
docker run --rm -it --name jdk_centos local/jdk8u192_centos1810:1.0
java -version
6.打包jar包进image
编辑Dockerfile
FROM centos:7.6.1810
COPY jdk /home/jdk
COPY pssc_sm_home-1.0.jar /home/
COPY pssc_sm_home.sh /home/
ENV JAVA_HOME=/home/jdk
ENV CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
ENV PATH=$PATH:${JAVA_HOME}/bin
RUN chmod +x /home/pssc_sm_home.sh
##### 转发日志到docker log控制台
RUN ln -sf /dev/stdout /home/pssc_sm_home.log
CMD ["/home/pssc_sm_home.sh"]
编辑pssc_sm_home.sh
#!/bin/bash
java -jar -Xms1024m -Xmx1024m -Xss256k /home/pssc_sm_home-1.0.jar > /home/pssc_sm_home.log
生成Image
docker build --rm -t local/jdk8u192_centos1810 .
使用Image
docker run --name test -d local/jdk8u192_centos1810
查看实时日志
docker logs test -f