IDEA 一键部署 Spring Boot 项目到 Docker 容器
我知道的一些打包部署方式无非就是直接打成 jar 包然后扔进服务器(java -jar),又或者打成 war 包扔到 Tomcat
但是容器化部署方式应该是目前的主流方案吧
Docker 安装
安装 Docker
其实安装 Docker 也是非常非常的简单,网上也有很多教程
首先安装所需的软件包
1
2
3sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2使用阿里云的镜像地址
1
2
3yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo安装 Docker Engine-Community
1
yum install docker-ce docker-ce-cli containerd.io
最后直接启动 Docker。
1
2
3
4systemctl start docker
# 查看docker版本
docker -v
配置 Docker
Docker 安装成功之后,我们需要修改 Docker 配置,也就是开启允许远程访问 Docker 的功能
修改 /usr/lib/systemd/system/docker.service
文件
在 ExecStart=/usr/bin/dockerd
后面加上 -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
如图
配置完成后,保存退出(先按 esc –> :wq),然后重启 Docker
1 | # 重启守护进程 |
如何验证是否开启了呢?
在浏览器输入 http://服务器 IP:2375/images/json
验证成功的话,那么 Docker 的安装配置就算完成了,接下来转战到 IDEA
IDEA 配置
首先得装个插件,不过我 IDEA 2018.3
安装的时候就默认自带的,不过保险起见
还是得到 File-> Settings -> Plugins -> Marketplace
查看一下是否安装 Docker 插件
如果 Installed 是灰色按钮的话,说明安装了,没有的话直接点 Installed 然后重启 IDEA
接着我们打开 File -> Settings -> Build, Execution, Deployment -> Docker
IDEA 配置就算完成了,接下来就是要准备个 Spring Boot 项目了
项目配置
在 pom.xml
加入 spring-boot-starter-web
依赖就好啦
1 | <dependency> |
然后创建个类
1 |
|
创建 Dockerfile
在项目的根目录下 new 一个 file 取名为 Dockerfile
并加入以下内容
1 | FROM hub.c.163.com/library/java:latest |
配置 Maven 插件
在 pom.xml
,添加如下插件
1 | <build> |
OK 啦,接下来直接打包
打包
点击 package
即可
第一次打包,需要下载基础镜像,可能会慢一点,耐心等待就好了
然后就会看到控制台的打包 log
打包成功之后我们就可以在 Docker 容器中看到我们刚刚打包的镜像了
1 | docker images |
启动方式
(第一种)像创建普通容器一样创建这个镜像的容器,输入如下命令
1
docker run -d --name garvey -p 8080:8080 garvey/docker_springboot:0.0.1-SNAPSHOT
启动成功之后,我们就可以访问了。
http://服务器 IP:8080/test
(第二种)在 IDEA 中运行(推荐)
在 IDEA 中连接到了 Docker 之后你就会发现
Tool Buttons
多了个 Docker 的工具栏接着点击左边那个绿色的启动按钮
启动成功后我们就可以看到目前 Docker 中的所有容器和镜像了
此时,我们选中刚刚打包的镜像,右键
Create container -> Create...
配置容器名称和端口映射关系即可
注意:如果你刚刚在 Docker 启动过了的话,你要先停止它,不然端口会被占用的
运行 log 如下
运行成功之后还是一样在浏览器输入
http://服务器 IP:8080/test
访问这样我们的 Spring Boot 项目就发布到 Docker 容器中了