Doker部署springboot项目二:IDEA远程到Docker容器部署

一、开启Docker远程访问

CentOS7中Docker安装成功后,需要开启Docker的远程访问功能,修改/usr/lib/systemd/system/docker.service文件

加入-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock

Doker部署springboot项目二:IDEA远程到Docker容器部署_第1张图片

 配置完成后,保存退出,重启Docker
 

systemctl daemon-reload

service docker restart

二、IDEA配置

首先idea安装docker插件:点击File->Settings->Plugins->Browse Repositories

Doker部署springboot项目二:IDEA远程到Docker容器部署_第2张图片

这里是安装完成后的页面,未安装时点击install即可。

安装完成后重启IDEA,点击File->Settings->Build,Execution,Deployment->Docker,配置远程Docker地址

Doker部署springboot项目二:IDEA远程到Docker容器部署_第3张图片

出现connection successful即表示连接成功。

三、项目配置

配置DockerFile并将其放在项目根目录下

Doker部署springboot项目二:IDEA远程到Docker容器部署_第4张图片

DockerFile:

##使用 JDK 8 环境为基础镜像,如果镜像不是本地的将会从 DockerHub 进行下载
FROM openjdk:8-jdk-alpine
##指向了一个 /tmp 的目录,由于 Spring Boot 使用内置的 Tomcat 容器,Tomcat 默认使用 /tmp 作为工作目录,这个命令的效果是:在宿主机的 /var/lib/docker 目录下创建一个临时文件并把它链接到容器中的 /tmp 目录。
VOLUME /tmp
# 作者信息
MAINTAINER "Zson"
# 暴露8080端口
EXPOSE 8080
# 添加变量,如果使用dockerfile-maven-plugin,则会自动替换这里的变量内容
ARG JAR_FILE=target/system-0.0.1-SNAPSHOT.jar
# 往容器中添加jar包
ADD ${JAR_FILE} app.jar
# 启动镜像自动运行程序
# ENTRYPOINT ["java","-Xms512m","-Xmx1024m","-Xss1024K","-XX:PermSize=512m","-XX:MaxPermSize=1024m","-XX:-OmitStackTraceInFastThrow","-Djava.security.egd=file:/dev/urandom","-jar","/app.jar"]
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/urandom","-jar","/app.jar"]

##Dockerfile中直接能够运行的命令
##保证awt的使用
RUN apk add fontconfig

RUN apk add --update ttf-dejavu

RUN fc-cache --force
##保证容器的时区相同
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
##保证log日志的时区相同
RUN echo "Asia/Shanghai" > /etc/timezone

然后在pom.xml中配置maven插件:



	com.spotify
	docker-maven-plugin
	1.0.0
	
		
		
			build-image
			package
			
				build
			
		
	
	
		
		http://192.168.91.129:2375
		
		system
		
		
			${project.version}
		
		
		true
		
		${project.basedir}
		
			
			
				/
				${project.build.directory}
				${project.build.finalName}.jar
			
		
	

四、打包运行

IDEA中直接点击maven中的package即可在Linux服务器上构建镜像:

Doker部署springboot项目二:IDEA远程到Docker容器部署_第5张图片

运行有两种方式:

1.直接在Linux服务器上运行 docker run;

2.使用IDEA的Docker插件:

Doker部署springboot项目二:IDEA远程到Docker容器部署_第6张图片

 

Doker部署springboot项目二:IDEA远程到Docker容器部署_第7张图片

Doker部署springboot项目二:IDEA远程到Docker容器部署_第8张图片

你可能感兴趣的:(Docker)