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

文章目录

    • AlibabaCloudToolkit
    • 自动化部署
      • 准备Dockersfile文件和执行脚本
      • 配置Deploy to Host
    • 运行Deploy to Host
    • CloudToolkit常用功能
    • docker_demo项目gitee地址

AlibabaCloudToolkit

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

1.安装插件

SpringBoot应用使用AlibabaCloudToolkit自动化部署到docker_第1张图片

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

SpringBoot应用使用AlibabaCloudToolkit自动化部署到docker_第2张图片

自动化部署

准备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

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重启后自动启动该容器

3.将文件上传到服务器
这里将文件上传到服务器的/home/czy/webapps/docker_demo目录下
SpringBoot应用使用AlibabaCloudToolkit自动化部署到docker_第3张图片

配置Deploy to Host

1.添加Deploy to Host

SpringBoot应用使用AlibabaCloudToolkit自动化部署到docker_第4张图片

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

SpringBoot应用使用AlibabaCloudToolkit自动化部署到docker_第5张图片
SpringBoot应用使用AlibabaCloudToolkit自动化部署到docker_第6张图片

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 可以查看到宿主机上挂载容器运行后的日志

SpringBoot应用使用AlibabaCloudToolkit自动化部署到docker_第7张图片

运行Deploy to Host

SpringBoot应用使用AlibabaCloudToolkit自动化部署到docker_第8张图片
1.等待脚本执行完成之后,访问程序接口

在这里插入图片描述
2.查看控制台输出的日志,程序输出INFO和ERROR日志
SpringBoot应用使用AlibabaCloudToolkit自动化部署到docker_第9张图片
3.查看服务器上日志文件
进入宿主机/home/czy/webapps/logs/docker_demo目录
cat log_info.log查看info日志,7个查询日志
SpringBoot应用使用AlibabaCloudToolkit自动化部署到docker_第10张图片
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服务器,用它就够了,直接通过底部面板,点击终端按钮即可打开,通过上传功能也可以上传文件

SpringBoot应用使用AlibabaCloudToolkit自动化部署到docker_第11张图片

docker_demo项目gitee地址

你可能感兴趣的:(docker,docker,spring,boot,自动化)