• SpringBoot应用使用AlibabaCloudToolkit自动化部署到docker


    AlibabaCloudToolkit

    CloudToolkit是阿里出品的一款IDEA插件,通过它我们可以更方便地实现自动化部署,其内置的终端工具和文件上传功能,即使用来管理服务器也非常方便!这款IDEA插件不仅功能强大,而且完全免费!
    CloudToolkit的安装是非常简单的,直接在IDEA的插件市场中搜索Cloud Toolkit然后进行安装即可。

    1.安装插件

    在这里插入图片描述

    2.配置服务器连接
    插件安装完成后,打开左侧面板,右键Host图标我们就可以添加服务器的连接信息了,实现自动化部署之前需要先配置好连接信息;

    在这里插入图片描述

    自动化部署

    准备Dockersfile文件和执行脚本

    1.创建Dockersfile

    # 该镜像需要依赖的基础镜像
    FROM java:8
    # 将当前目录下的jar包复制到docker容器的/目录下
    ADD docker_demo-1.0-SNAPSHOT.jar /docker_demo-1.0-SNAPSHOT.jar
    # 声明服务运行在8088端口
    EXPOSE 8088
    # 指定docker容器启动时运行jar包
    ENTRYPOINT ["java", "-jar","/docker_demo-1.0-SNAPSHOT.jar"]
    # 指定维护者的名字
    MAINTAINER changziyang
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    2.创建执行脚本

    #!/usr/bin/env bash
    # 定义应用名称
    app_name='docker_demo'
    # 定义应用版本
    app_version='1.0-SNAPSHOT'
    # 定义应用环境
    profile_active='prod'
    docker stop ${app_name}
    echo '----stop container----'
    docker rm -f ${app_name}
    echo '----rm container----'
    docker rmi -f ${app_name}:${app_version}
    echo '----rm image----'
    # 打包编译docker镜像
    docker build -t ${app_name}:${app_version} .
    echo '----build image----'
    sudo docker run -d -p 8088:8088 --name ${app_name} \
    -e TZ="Asia/Shanghai" \
    -e 'spring.profiles.active'=${profile_active} \
    -v /home/czy/webapps/logs/${app_name}:/logs/${app_name} \
    --restart=always \
    ${app_name}:${app_version}
    echo '----start container----'
    #docker run 参数说明
    #-d 后台运行容器
    #-p 8088:8088 指定宿主机端口映射到容器内端口
    #--name ${app_name} 容器起别名
    #-e TZ="Asia/Shanghai" 时区
    #-e 'spring.profiles.active'=${profile_active} 指定springboot加载生产环境配置文件
    #指定程序日志输出挂载宿主机目录,注意:该demo程序日志配置的输出目录为 /logs/docker_demo
    #-v /home/czy/webapps/logs/${app_name}:/logs/${app_name}
    #--restart=always docker重启后自动启动该容器
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32

    3.将文件上传到服务器
    这里将文件上传到服务器的/home/czy/webapps/docker_demo目录下
    在这里插入图片描述

    配置Deploy to Host

    1.添加Deploy to Host

    在这里插入图片描述

    2.配置Deploy to Host
    Target Directory:项目打包上传到服务器上的目录 /home/czy/webapps/docker_demo
    After deploy:打包上传后执行的脚本 sh /home/czy/webapps/docker_demo/start.sh

    在这里插入图片描述
    在这里插入图片描述

    3.修改高级设置,配置下查看容器日志的命令
    此处配置docker logs -f docker_demo,可以在idea控制台看到容器运行后的日志
    也可配置为 tail -f /home/czy/webapps/logs/docker_demo/log_info.log,因为执行脚本中指定了docker run挂载的日志目录为/home/czy/webapps/logs/docker_demo,所以tail -f 可以查看到宿主机上挂载容器运行后的日志

    在这里插入图片描述

    运行Deploy to Host

    在这里插入图片描述
    1.等待脚本执行完成之后,访问程序接口

    在这里插入图片描述
    2.查看控制台输出的日志,程序输出INFO和ERROR日志
    在这里插入图片描述
    3.查看服务器上日志文件
    进入宿主机/home/czy/webapps/logs/docker_demo目录
    cat log_info.log查看info日志,7个查询日志
    在这里插入图片描述
    cat log_error.log 查看info日志,7个查询日志
    在这里插入图片描述

    4.进入容器内查看日志
    docker ps:查看当前运行的容器
    docker exec -it docker_demo /bin/bash:进入docker_demo容器
    在这里插入图片描述
    因为程序中配置日志输出的目录为/logs/docker_demo,所以进入容器中/logs/docker_demo目录下查看日志即可
    在这里插入图片描述

    CloudToolkit常用功能

    CloudToolkit的功能远不止于此,它内置了终端工具,在IDEA中管理Linux服务器,用它就够了,直接通过底部面板,点击终端按钮即可打开,通过上传功能也可以上传文件

    在这里插入图片描述

    docker_demo项目gitee地址

  • 相关阅读:
    JMeter使用方法
    MySQL Oracle区别
    废水含镍如何处理
    Linux ——目录结构
    【linux命令】链接/用户组/find/xargs/grep
    C# byte转bit bit组装成byte
    JavaScript系列之数据类型
    知识点滴 - MAC and PHY
    常见信息安全加密算法及Python库源码实例
    云端智创 | 批量化生产,如何利用Timeline快速合成短视频?
  • 原文地址:https://blog.csdn.net/weixin_45240169/article/details/126769748