美文网首页Java部署运维
docker通过dockerfile部署springBoot项目

docker通过dockerfile部署springBoot项目

作者: 黄黄丶 | 来源:发表于2019-11-01 14:37 被阅读0次

    养成良好的记录习惯
    作者:黄黄


    • 注: 我这里以springCloud单个eureka服务为例。另外如果部署完无法访问请确认云服务的安全组是否放行了

    1.创建文件夹

    用于存放dockerfile文件和jar包

    mkdir -p /sell/zzw-eureka
    

    2.创建dockerfile文件

    dockerfile文件用于制作镜像,内部可以指定镜像多种属性

    FROM hub.c.163.com/library/java:8-alpine
    
    VOLUME /tmp
    
    RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
    
    ADD zzw-eureka.jar app.jar
    
    ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
    
    • FROM 镜像地址,我这里获取的是网易镜像库的8-alpine java版本,可自行去选择对应的版本
    • VOLUME 数据库挂载出来,用于容器接收数据指定宿主机接收地址,默认就是/tmp
    • RUN 运行对应的脚本,我这里是同步了宿主机和docker容器的时间
    • ADD 可以理解为将dockerfile所在当前文件夹中zzw-eureka.jar 重命名
    • ENTRYPOINT 运行对应的jar包,-Djava.security.egd=file:/dev/./urandom大致意思是加快tomcat运行速度,可自行百度。

    3.打包生成jar

    image.png

    4.上传dockerfile和jar至服务器上

    [root@VM_0_10_centos zzw-eureka]# pwd
    /sell/zzw-eureka
    [root@VM_0_10_centos zzw-eureka]# ls
    Dockerfile  zzw-eureka.jar
    

    5.构建镜像

    docker build -t sell/zzw-eureka:0.1 /sell/zzw-eureka
    
    [root@VM_0_10_centos zzw-eureka]# docker images
    REPOSITORY                   TAG                 IMAGE ID            CREATED             SIZE
    sell/zzw-eureka              0.1                 97456d37b426        3 hours ago         198MB
    openzipkin/zipkin            latest              33eb96edecfd        25 hours ago        156MB
    mysql                        latest              c8ee894bd2bd        2 weeks ago         456MB
    redis                        latest              de25a81a5a0b        2 weeks ago         98.2MB
    rabbitmq                     management          27764c8758a0        2 weeks ago         180MB
    hub.c.163.com/library/java   8-alpine            d991edd81416        2 years ago         145MB
    
    • sell/zzw-eureka 是自定义的镜像名称
    • 0.1 是指定镜像的tag(类似于版本)
    • /sell/zzw-eureka 是dockerfile文件所在地址

    6.启动镜像

    docker run -d -p 8761:8761 --name zzw-eureka sell/zzw-eureka:0.1 
    
    [root@VM_0_10_centos zzw-eureka]# docker ps -a
    CONTAINER ID    IMAGE                 COMMAND                  CREATED       STATUS         PORTS                   NAMES                                                                          
    13e479f1a88b    sell/zzw-eureka:0.1   "java -Djava.securit…"   3 hours ago   Up 3 hours     0.0.0.0:8761->8761/tcp  zzw-eureka    
    
    • -d后台运行
    • -p映射端口
    • --name容器名称

    7.访问服务

    1572590094(1).png

    相关文章

      网友评论

        本文标题:docker通过dockerfile部署springBoot项目

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