• Docker:2 构建并发布Java服务的示例


    第一步:准备阶段

    1、Centos7系统(基础环境)

    2、Centos以及安装好 Docker服务;(docker与docker-compose的安装会有专门的章节说明)

    3、jdk8的安装包,作为jar运行的基础环境;本次使用的是:jdk-8u231-linux-x64.tar.gz

    4、可运行的Jar,本次使用的jar名称:test-example-1.0-SNAPSHOT.jar

    第二步:资源放在一个文件夹下,并创建Dockerfile和docker-compose.yml

    ~]# mkdir example
    ~]# mv jdk-8u231-linux-x64.tar.gz example/
    ~]# mv test-example-1.0-SNAPSHOT.jar  example/
    ~]# cd example

    1、创建Dockerfile
    example]# vi Dockerfile

    文件内容如下所示;

    FROM centos
    MAINTAINER mj
    
    ENV LANG en_US.UTF-8
    
    WORKDIR /home
    
    RUN mkdir JDK
    
    COPY jdk-8u231-linux-x64.tar.gz /home/
    COPY test-example-1.0-SNAPSHOT.jar /home/
    
    RUN tar zxf /home/jdk-8u231-linux-x64.tar.gz -C /home/JDK
    
    ENV JAVA_HOME /home/JDK/jdk1.8.0_231
    ENV PATH $PATH:$JAVA_HOME/bin
    
    EXPOSE 8080
    
    ENTRYPOINT ["java","-jar","test-example-1.0-SNAPSHOT.jar"," -Xms128m","-Xmx512m"]

    2、创建docker-compose.yml文件

    example]# vi docker-compose.yml

    文件内容如下:

    version: '3'
    services:
      example:
        image: mj/example
        container_name: mj-example
        restart: always
        ports:
          - 8080:8080

    yml文件字段名称说明:

    services: 指定容器服务,下面可配多个服务(进行服务编排)
    example: 服务名字,自己指定.这里就代表我的eureka服务
    image: 指定启动的镜像,就是上边通过Dockerfile构建的镜像
    container_name: 给容器起一个名字
    restart: 可重启,使用always就好
    ports: 声明映射端口
    

      

    example]# ls -al 

    如下图所示:

    资料都准备好了,接下来就是构建并启动容器,发布服务了;

    第三步:构建Docker镜像

    example]# docker build -t mj/example . # 根据当前目录Dockerfile构建镜像

     此时,启动docker有两种方式:

    1)通过docker命令直接启动发布docker容器服务;

    example]# docker run -d -p 8080:8080  --name mj-example mj/example /bin/bash
     

    2)通过docker-compse进行容器服务编排启动,即根据docker-compose.yml文件;

    检查yml文件格式是否正确;
    example]# docker-compose config
    启动容器服务 example]# docker-compose up
    停止并删除容器服务 example]# docker-compose down
    强制启动重新建立容器 example]# docker-compose up -d --force-recreate

    重新构建
    example]# docker-compose build 或者docker-compose up --build

     

    容器启动后如下图所示:

  • 相关阅读:
    nginx添加新模块
    nginx rewrite规则last与break的区别
    tomcat调优的几个方面
    Servlet 中文乱码问题及解决方案剖析
    Nginx 启动脚本/重启脚本
    Nginx的启动、停止、平滑重启
    轻量级HTTP服务器Nginx(配置与调试Nginx)
    Nginx配置文件详细说明
    提高Java代码质量的Eclipse插件之Checkstyle的使用详解
    你会用shuffle打乱列表吗?
  • 原文地址:https://www.cnblogs.com/outpointexception/p/13048888.html
Copyright © 2020-2023  润新知