一、安装jdk1.8
1.下载jdk
jdk官网下载地址https://www.oracle.com/java/technologies/downloads/archive/#JavaSE
2.将jdk放到/usr/local/java
二、构建镜像文件Docker Dockerfile
编辑运行jar包需要的命令
1.指令介绍
- FROM
构建镜像基于哪个镜像
- MAINTAINER
镜像维护者姓名或邮箱地址
- RUN
构建镜像时运行的指令
- CMD
运行容器时执行的shell环境
- VOLUME
指定容器挂载点到宿主机自动生成的目录或其他容器
- USER
为RUN、CMD、和 ENTRYPOINT 执行命令指定运行用户
- WORKDIR
为 RUN、CMD、ENTRYPOINT、COPY 和 ADD 设置工作目录,就是切换目录
- HEALTHCHECH
健康检查
- ARG
构建时指定的一些参数
- EXPOSE
声明容器的服务端口(仅仅是声明)
- ENV
设置容器环境变量
- ADD
拷贝文件或目录到容器中,如果是URL或压缩包便会自动下载或自动解压
- COPY
拷贝文件或目录到容器中,跟ADD类似,但不具备自动下载或解压的功能
- ENTRYPOINT
运行容器时执行的shell命令
2.dockerfile
在/usr/local/下创建文件夹Dockerfiles
mkdir /usr/local/docker/dockerfiles
进入dockerfiles文件夹,创建mytest文件
cd /usr/local/docker/dockerfiles
vi Dockerfile
编写如下指令
FROM centos:7
MAINTAINER lmw
#设置系统编码
RUN yum install kde-l10n-Chinese -y
RUN yum install glibc-common -y
RUN localedef -c -f UTF-8 -i zh_CN zh_CN.utf8
RUN export LANG=zh_CN.UTF-8
RUN echo "LANG=zh_CN.UTF-8" > /etc/locale.conf
ENV LANG zh_CN.UTF-8
ENV LC_ALL zh_CN.UTF-8
ADD jdk-8u202-linux-x64.tar.gz /usr/local/pro/jdk
ENV JAVA_HOME=/usr/local/pro/jdk/jdk1.8.0_202
ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV PATH=$JAVA_HOME/bin:$PATH
指令注解:
/** 基于centos:7基础镜像构建,由于作者是7.0所以这里是7 **/
FROM centos:7
/** 作者 **/
MAINTAINER lmw#设置系统编码
RUN yum install kde-l10n-Chinese -y
RUN yum install glibc-common -y
RUN localedef -c -f UTF-8 -i zh_CN zh_CN.utf8
RUN export LANG=zh_CN.UTF-8
RUN echo "LANG=zh_CN.UTF-8" > /etc/locale.conf
ENV LANG zh_CN.UTF-8
ENV LC_ALL zh_CN.UTF-8
/** 将jdk1.8添加到/usr/local/pro/jdk目录下并解压**/
/** 注意jdk-8u202-linux-x64.tar.gz需要和Dockerfile在同一级目录**/
ADD jdk-8u202-linux-x64.tar.gz /usr/local/pro/jdk
/** 环境变量配置 **/
ENV JAVA_HOME=/usr/local/pro/jdk/jdk1.8.0_202
ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV PATH=$JAVA_HOME/bin:$PATH
保存退出编辑
docker build -t java:jdk1.8.0_202 .
3.运行docker
docker run -d -p 8082:8082 -v /usr/local/data/web/pro/jar/my-gradle-1.0.0.jar:/usr/local/pro/jar/my-gradle-1.0.0.jar --name mygradle java:jdk1.8.0_202 java -jar -Xms1024m -Xmx1024m -Dserver.port=8082 /usr/local/pro/jar/my-gradle-1.0.0.jar