Docker部署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

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

systemctl daemon-reload

service docker restart

二、IDEA配置

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

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

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

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

三、项目配置

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

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插件:

<!-- Docker容器远程部署 -->
<plugin>
	<groupId>com.spotify</groupId>
	<artifactId>docker-maven-plugin</artifactId>
	<version>1.0.0</version>
	<executions>
		<!-- 当执行mvn package时,同时执行docker:build -->
		<execution>
			<id>build-image</id>
			<phase>package</phase>
			<goals>
				<goal>build</goal>
			</goals>
		</execution>
	</executions>
	<configuration>
		<!-- Docker主机地址 -->
		<dockerHost>http://192.168.91.129:2375</dockerHost>
		<!-- Docker镜像名称 -->
		<imageName>system</imageName>
		<!-- 镜像的Tags -->
		<imageTags>
			<imageTag>${project.version}</imageTag>
		</imageTags>
		<!-- 在每次新的构建上覆盖镜像tags -->
		<forceTags>true</forceTags>
		<!-- DockerFile的位置 -->
		<dockerDirectory>${project.basedir}</dockerDirectory>
		<resources>
			<!-- jar的位置和名称 -->
			<resource>
				<targetPath>/</targetPath>
				<directory>${project.build.directory}</directory>
				<include>${project.build.finalName}.jar</include>
			</resource>
		</resources>
	</configuration>
</plugin>

四、打包运行

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

运行有两种方式:

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

2.使用IDEA的Docker插件:

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值