美文网首页
docker制作springBoot项目镜像容器

docker制作springBoot项目镜像容器

作者: 顾道夫 | 来源:发表于2019-11-21 10:40 被阅读0次

    前提:准备好基础具备JAVA8环境的镜像,准备一个制作镜像的目录

    1.打包好应用代码 部署文件 springBoot只有一个jar包

    xxx-0.0.1-SNAPSHOT.jar

    2.编写all.sh文件

    这里路径都是容器里的路径,将配置文件,日志目录软链接到挂载目录,方便修改,可持续化

    #!/bin/bash
    
    #export JAVA_HOME=/data/jdk
    #export PATH=$JAVA_HOME/bin:$PATH
    JAVA_OPTS="$JAVA_OPTS -Dfile.encoding=UTF8  -Duser.timezone=GMT+08"
    cd /opt/product/xxx/
    rm -rf config logs
    ln -s /opt/product/data/config /opt/product/xxx/config
    ln -s /opt/product/data/logs /opt/product/xxx/logs
    #java  -jar -Dspring.profiles.active=prod -Dspring.config.location=/opt/config ./xxx-0.0.1-SNAPSHOT.jar
    cd /opt/product/xxx/
    java $JAVA_OPTS -jar  xxx-0.0.1-SNAPSHOT.jar
    #ping 192.168.220.121
    

    3.编写Dockerfile文件

    FROM java:8
    MAINTAINER gudolf
    RUN mkdir -p /opt/product/xxx
    ADD xxx-0.0.1-SNAPSHOT.jar /opt/product/xxx/xxx-0.0.1-SNAPSHOT.jar
    RUN sh -c 'touch /opt/product/xxx/xxx-0.0.1-SNAPSHOT.jar'
    #RUN cd /opt/jdk/jdk1.8.0_111/bin/ && chmod +x *
    VOLUME [ "/opt/product/data/" ]
    ENV JAVA_HOME="/data/jdk"
    ADD all.sh /root/
    RUN chmod +x /root/all.sh
    ENTRYPOINT ["/root/all.sh"]
    CMD ["/usr/sbin/init"]
    #ENTRYPOINT [ "sh", "-c", "$JAVA_HOME/bin/java -jar /app.jar -Duser.timezone=GMT+08" ]
    

    4.制作镜像

    sudo docker build -t xxx:xxx  ./
    

    5.启动镜像

    docker run --name=xxx --restart=always -d -ti -p 60003:60003 -v /data/product/xxx_data:/opt/product/data xxx:xxx
    

    相关文章

      网友评论

          本文标题:docker制作springBoot项目镜像容器

          本文链接:https://www.haomeiwen.com/subject/jlpzictx.html