发布微服务jar到docker

准备docker环境

  • centos 7
  • jdk1.8
    既然是发布springboot jar所以无需使用额外的tomcat(内置)。
CENTOS7 AND JDK1.8
  1. docker search centos
    1115848-8239b06993d6fe97.png
    docker search centos.png
  2. docker pull centos
    1115848-65c4376ca2543a28.png
    docker pull centos
  3. 在下载的centos image中加入jdk1.8,可以直接在dockerfile中下载以及安装,但是我建议还是自己下载对应的jdk之后在本地加载安装,因为在dockerfile中下载时间长,无法查看其进度,容易造成以为安装不成功,其实是jdk源地址无法下载导致。

    在同一目录下新增Dockerfile,和需要安装的文件jdk
    1115848-39df7061871c4e25.png
    build files
# Include centos7 and jdk 1.8_191
FROM centos

MAINTAINER xxxxx([email protected])

ADD jdk-8u191-linux-x64.tar.gz /usr/local/jdk8

ENV JAVA_HOME /usr/local/jdk8/jdk1.8.0_191
ENV JRE_HOME $JAVA_HOME/jre
ENV CLASSPATH :$JAVA_HOME/lib:$JRE_HOME/lib
ENV PATH $PATH:$JAVA_HOME/bin

CMD ["java", "-version"]
  1. docker build -t centos-jdk8:v1 .
    1115848-66f85dcad0733c6d.png
    docker build

构建jar包微服务

  1. 新增Dockerfile(CMD命令可以在docker run的时候替换,所以定义模板时可以随意定义,启动参数也可以定义成ENV,通过docker run的时候传递)
# Include centos, mysql5.7 and java1.8_191 docker images
FROM centos-jdk8:v1

# creater
MAINTAINER (xxx.xx)[email protected]

ADD deploy_jar /usr/local

# EXPOSE
EXPOSE 5555

ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-Xmx512m","-Xms512m"
,"-XX:SurvivorRatio=6", "-Xss256k","-XX:+UseConcMarkSweepGC","-jar"]
CMD ["/usr/local/app.jar"]
  1. 准备发布jar包
    1115848-65fee2187f0ac7e8.png
    docker build info
  2. docker build
    1115848-797bc793f20844f2.png
    docker build
  3. docker run
    1115848-b7daccd5249a2e01.png
    docker run
docker run -d --name docker-demo-190107 -v /usr/local/log/:/var/log/ -p3308:5555 
docker-demo:v1  /usr/local/docker-demo.jar
  1. 访问测试


    1115848-01f17726aa853c24.png
    Test

猜你喜欢

转载自blog.csdn.net/weixin_33796177/article/details/87200554