Ubuntu + Docker + OpenJDK8 部署jar包

1、创建jdk dockerfile

vim jdk-dockerfile

插入

FROM alpine:3.9

MAINTAINER qingsong

ENV LANG=C.UTF-8 \

    JAVA_HOME=/usr/lib/jvm/java-1.8-openjdk \

    PATH=$PATH:/usr/lib/jvm/java-1.8-openjdk/jre/bin \

    run_foreground=true

RUN apk add --no-cache openjdk8 && rm -f /etc/apk/repositories

保存并退出

2、制作openjdk镜像并运行容器

docker build -t openjdk:1.8.0_242 . -f  jdk-dockerfile

查看镜像制作是否成功,如果成功运行容器

$ docker images

REPOSITORY        TAG                        IMAGE ID            CREATED            SIZE

openjdk        1.8.0_242                  f1b6c0810409        11 days ago        105 MB

$ docker run -d --name alpine_jdk8 f1b6c0810409 sh -c"tail -f /dev/null"

8cc12d1bb0707e33ae89c818b2687d3f013cadfasfafdafa5cff052a148f58

$ docker ps -a |grep jdk8

8cc12d1bb070    f1b6c0810409"sh -c 'tail -f /d..."9 seconds ago      Up 8 seconds                                                                                                      alpine_jdk8

$ dockerexec-it 8cc12d1bb070 sh

/# java -version

openjdk version"1.8.0_242"

OpenJDK Runtime Environment (IcedTea 3.15.0) (Alpine 8.242.08-r0)

OpenJDK 64-Bit Server VM (build 25.242-b08, mixed mode)

3、制作jar运行环境dockerfile

FROM alpine_jdk8:1.8.0_242

#FROM java8:centos7

MAINTAINER qingsong

# VOLUME 指定了临时文件目录为/tmp。

# 其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp

# VOLUME /tmp

#设置工作目录,在该指令后的 RUN、CMD、ENTRYPOINT, COPY、ADD 指令都会在该目录执行。如果该目录不存在,则会创建!

WORKDIR /var/www/html/udp-server/

# 将jar包添加到容器中并更名为app.jar

ADD gateway-1.0-SNAPSHOT.jar gateway.jar

EXPOSE 8080

# 运行jar包

RUN sh -c 'mkdir logs' &&\

    sh -c 'mkdir config' &&\

    sh -c 'chmod -R 777 logs/' &&\

    sh -c 'chmod -R 777 config/'

ENTRYPOINT ["java","-Xms512m","-Xmx512m","-Xmn256m","-Xss256k","-server","-Djava.security.egd=file:/dev/./urandom","-jar","gateway.jar"]

4、制作jar运行环境镜像并运行容器

docker build -t gateway . -f dockerfile

docker run -itd --name gateway -p 8080:8080 --restart=always gateway:latest


5、查看容器是否运行成功

docker logs -f --details gateway

如果一直在跳说明运行成功

你可能感兴趣的:(Ubuntu + Docker + OpenJDK8 部署jar包)