发布微服务jar到docker

准备docker环境

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

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

MAINTAINER xxxxx(xxxxxx@qq.com)

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 .
    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)xxxx@qq.com

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包
    docker build info
  2. docker build
    docker build
  3. docker run
    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. 访问测试


    Test
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容