Centos安装Docker并使用IDEA插件一键发布SpringBoot项目
该部署方式有一定的安全隐患,只建议个人测试玩玩。
安装Centos
参考自官方流程
卸载旧版本
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
安装所需包
sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
设置稳定的仓库
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
安装
sudo yum install docker-ce docker-ce-cli containerd.io
如果控制台提示是否接受GPG密钥,请验证指纹是否匹配 060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35,如果是,则接受。
Docker远程连接配置
修改Docker配置:
vi /lib/systemd/system/docker.service
注释原有ExecStart行再添加ExceStart:ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock --containerd=/run/containerd/containerd.sock
重启Docker并校验(需确保防火墙与ECS已开启2375端口)
systemctl daemon-reload
systemctl restart docker
curl 127.0.0.1:2375/info
Intellij IDEA配置
- 配置Docker连接
项目根目录配置Dockerfile
FROM java:8
MAINTAINER Wilson
# 统一容器与服务器时间
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
#复制当前项目target/spring-boot-demo.jar到容器中
COPY ./target/spring-boot-demo.jar spring-boot-demo.jar
EXPOSE 8080
ENTRYPOINT ["java","-jar","spring-boot-demo.jar"]
配置插件运行参数
项目配置打包
主程序QuickApplication :@SpringBootApplication
@RestController
@RequestMapping("/")
public class QuickApplication {
public static void main(String[] args) {
SpringApplication.run(QuickApplication.class, args);
}
@GetMapping("/hello")
public ServerResponse hello() {
return ServerResponse.success("Hello World");
}
}
pom.xml:
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
</dependency>
</dependencies>
<build>
<finalName>spring-boot-demo</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
Docker插件运行前需进行项目打包:
mvn package
- 运行Docker插件
运行效果图如下(可以看见镜像与容器皆被创建):
点击Log可以查看容器log:
- 结果校验
结语
虽然Docker可以通过添加CA证书通过https连接提高连接安全性,但这样每个开发者都需要下载CA证书,这显然十分麻烦。实际开发建议通过Jenkins去执行Docker脚本,避免通过外网连接直接操作Docker,具体可参考该文章:Docker+Jenkins+Nginx+SpringBoot自动化部署项目
附
项目地址spring-boot-docker-demo
还没有评论,来说两句吧...