IDEA远程一键部署SpringBoot到Docker

这篇具有很好参考价值的文章主要介绍了IDEA远程一键部署SpringBoot到Docker。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

IDEA是Java开发利器,Spring Boot是Java生态中最流行的微服务框架,docker是时下最火的容器技术,那么它们结合在一起会产生什么化学反应呢?

一、开发前准备

1. Docker安装

可以参考:https://docs.docker.com/install/ 

2.配置docker远程连接端口

vi /usr/lib/systemd/system/docker.service

找到 ExecStart,在最后面添加 -H tcp://0.0.0.0:2375,如下图所示

IDEA远程一键部署SpringBoot到Docker,Java,云原生,intellij-idea,docker,maven,spring boot

 

重启docker

systemctl daemon-reload

systemctl start docker
 

开放端口

firewall-cmd --zone=public --add-port=2375/tcp --permanent

Idea安装插件,重启

IDEA远程一键部署SpringBoot到Docker,Java,云原生,intellij-idea,docker,maven,spring boot

 

连接远程docker

1、编辑配置

IDEA远程一键部署SpringBoot到Docker,Java,云原生,intellij-idea,docker,maven,spring boot

 

2、填远程docker地址

IDEA远程一键部署SpringBoot到Docker,Java,云原生,intellij-idea,docker,maven,spring boot

 

3、连接成功,会列出远程docker容器和镜像

IDEA远程一键部署SpringBoot到Docker,Java,云原生,intellij-idea,docker,maven,spring boot

二、新建项目

 

创建Spring Boot项目

项目结构图

IDEA远程一键部署SpringBoot到Docker,Java,云原生,intellij-idea,docker,maven,spring boot

 

1、配置pom

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <docker.image.prefix>com.demo</docker.image.prefix>
    <java.version>1.8</java.version>
</properties>
<build>
    <plugins>
		<plugin>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-maven-plugin</artifactId>
		</plugin>

		<plugin>
			<groupId>com.spotify</groupId>
			<artifactId>docker-maven-plugin</artifactId>
			<version>1.0.0</version>
			<configuration>
				<dockerDirectory>src/main/docker</dockerDirectory>
				<resources>
					<resource>
						<targetPath>/</targetPath>
						<directory>${project.build.directory}</directory>
						<include>${project.build.finalName}.jar</include>
					</resource>
				</resources>
			</configuration>
		</plugin>
		<plugin>
			<artifactId>maven-antrun-plugin</artifactId>
			<executions>
				<execution>
					<phase>package</phase>
					<configuration>
						<tasks>
							<copy todir="src/main/docker" file="target/${project.artifactId}-${project.groupId}"/>
						</tasks>
					</configuration>
					<goals>
						<goal>run</goal>
					</goals>
				</execution>
			</executions>
		</plugin>
	</plugins>
</build>
<dependencies>
	<dependency>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-web</artifactId>
	</dependency>
	<dependency>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-test</artifactId>
		<scope>test</scope>
	</dependency>
	<dependency>
		<groupId>log4j</groupId>
		<artifactId>log4j</artifactId>
		<version>1.2.17</version>
	</dependency>
</dependencies>

2、在src/main目录下创建docker目录,并创建Dockerfile文件

FROM openjdk:8-jdk-alpine ADD *.jar app.jar

ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

3、在resource目录下创建application.properties文件

logging.config=classpath:logback.xml 
logging.path=/home/developer/app/logs/
server.port=8990

4、创建DockerApplication文件

@SpringBootApplication
public class DockerApplication {
    public static void main(String[] args) {
        SpringApplication.run(DockerApplication.class, args);
    }
}
 

5、创建DockerController文件

@RestController
public class DockerController {
    static Log log = LogFactory.getLog(DockerController.class);
    @RequestMapping("/")
    public String index() {
        log.info("Hello Docker!");
        return "Hello Docker!";
    }
}

6、增加配置

IDEA远程一键部署SpringBoot到Docker,Java,云原生,intellij-idea,docker,maven,spring boot

IDEA远程一键部署SpringBoot到Docker,Java,云原生,intellij-idea,docker,maven,spring boot

IDEA远程一键部署SpringBoot到Docker,Java,云原生,intellij-idea,docker,maven,spring boot

命令解释:

Image tag : 指定镜像名称和tag,镜像名称为 docker-demo,tag为1.1

Bind ports : 绑定宿主机端口到容器内部端口。格式为[宿主机端口]:[容器内部端口]

Bind mounts : 将宿主机目录挂到到容器内部目录中。

格式为[宿主机目录]:[容器内部目录]。这个springboot项目会将日志打印在容器 /home/developer/app/logs/ 目录下,将宿主机目录挂载到容器内部目录后,那么日志就会持久化容器外部的宿主机目录中。

7、Maven打包

IDEA远程一键部署SpringBoot到Docker,Java,云原生,intellij-idea,docker,maven,spring boot

8、运行

IDEA远程一键部署SpringBoot到Docker,Java,云原生,intellij-idea,docker,maven,spring boot

IDEA远程一键部署SpringBoot到Docker,Java,云原生,intellij-idea,docker,maven,spring boot

先pull基础镜像,然后再打包镜像,并将镜像部署到远程docker运行

IDEA远程一键部署SpringBoot到Docker,Java,云原生,intellij-idea,docker,maven,spring boot

这里我们可以看到镜像名称为docker-demo:1.1,docker容器为docker-server

9、运成功

IDEA远程一键部署SpringBoot到Docker,Java,云原生,intellij-idea,docker,maven,spring boot

10、浏览器访问

IDEA远程一键部署SpringBoot到Docker,Java,云原生,intellij-idea,docker,maven,spring boot

11、志查看

IDEA远程一键部署SpringBoot到Docker,Java,云原生,intellij-idea,docker,maven,spring boot

自此,通过IDEA 部署 Spring Boot 项目到Docker成功!难以想象,部署一个Javaweb项目竟然如此简单方便!文章来源地址https://www.toymoban.com/news/detail-758635.html

到了这里,关于IDEA远程一键部署SpringBoot到Docker的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • IDEA配合Docker插件进行一键部署

    服务器装好Docker环境,并且开放docker端口 且加密 给外部访问 参考:https://www.cnblogs.com/haoxianrui/p/15322508.html#1-docker-开启远程访问 springboot 中进行配置 多模块项目,在最外层的pom文件中进行 build 配置 编写 Dockerfile 配置文件 4. idea 中配置 docker ● 配置端口以及容器名字 这样的话

    2024年02月04日
    浏览(51)
  • IDEA 集成 Docker 插件一键部署 Spring Boot 应用

    🚀 作者主页: 有来技术 🔥 开源项目: youlai-mall 🍃 vue3-element-admin 🍃 youlai-boot 🌺 仓库主页: Gitee 💫 Github 💫 GitCode 💖 欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请纠正! 随着容器化技术的崛起,Docker成为了现代软件开发的关键工具。在Java开发中,Spring Boot是一款备受

    2024年02月05日
    浏览(45)
  • 【使用Idea创建一键部署项目到Docker(保姆级教程)】

    Hello今天给大家带来如何一键部署项目到docker,什么事docker呢如果还有不会的建议先学习一下,这里仅整合资源, 参考原文 *这里注意如果你是新服务器,请先安装yum源 如果出现版本号说明成功了 在 ExecStart=/usr/bin/dockerd 追加 -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock 重启 Docker 让配置

    2024年02月09日
    浏览(39)
  • 如何使用Docker一键部署WBO白板并实现固定公网地址远程访问

    WBO在线协作白板是一个自由和开源的在线协作白板,允许多个用户同时在一个虚拟的大型白板上画图。该白板对所有线上用户实时更新,并且状态始终保持。它可以用于许多不同的目的,包括艺术、娱乐、设计和教学,使用起来也非常有趣。 下面结合cpolar内网穿透工具,实现

    2024年01月17日
    浏览(48)
  • Linux本地docker一键部署traefik+cpolar实现远程访问dashboard界面

    Træfɪk 是一个云原生的新型的 HTTP 反向代理、负载均衡软件,能轻易的部署微服务。它支持多种后端 (Docker, Swarm, Mesos/Marathon, Consul, Etcd, Zookeeper, BoltDB, Rest API, file…) , 可以对配置进行自动化、动态的管理. Træfɪk 支持docker一键部署,内置 Web UI,管理相对方便,下面介绍Linux 本地

    2024年02月04日
    浏览(42)
  • Docker 部署 SpringBoot 的两种方法,后一种一键部署超好用!

    1.手工方式 1.1.准备Springboot jar项目 1.2.编写Dockerfile 1.3.构建容器 1.4.运行容器 1.5.查看运行日志 1.6.访问测试 2.Docker远程连接并且使用idea一键部署 2.1.配置docker远程连接端口 2.2.使用idea连接到docker 2.3.docker-maven-plugin 介绍 将项目打包成jar FROM:表示基础镜像,即运行环境 VOLUME /

    2024年02月08日
    浏览(37)
  • Jenkins + Docker 一键自动化部署 SpringBoot 应用最精简流程

    本文章实现最简单全面的 Jenkins + Docker + Spring Boot 一键自动部署项目。步骤齐全,少走坑路。 环境:CentOS7 + Git (Gitee) 实现步骤:在 Docker 安装 Jenkins,配置 Jenkins 基本信息,利用 Dockerfile 和 Shell 脚本实现项目自动拉取打包并运行。 1安装 Docker 安装社区版本 Docker CE 确保 yum 包

    2024年04月26日
    浏览(52)
  • Jenkins + Docker + Maven + Windows 一键部署 Spring Boot 程序到远程 Linux 服务器

    本地:Windows 10 ; 本地:Jenkins + Publish Over SSH 插件; 本地:Maven ; 远程:Linux ; 远程:Docker ; 准备步骤 使用 Dockerfile 构建镜像; 基本思路 第一步:使用 mvn clean package -DskipTests 打包 Spring Boot 程序为 jar 包; 第二步:使用 Windows 命令将 jar 包复制到 jenkins 项目工作目录;

    2024年02月12日
    浏览(62)
  • Linux本地docker一键部署traefik+内网穿透工具实现远程访问Web UI管理界面

    Træfɪk 是一个云原生的新型的 HTTP 反向代理、负载均衡软件,能轻易的部署微服务。它支持多种后端 (Docker, Swarm, Mesos/Marathon, Consul, Etcd, Zookeeper, BoltDB, Rest API, file…) , 可以对配置进行自动化、动态的管理. Træfɪk 支持docker一键部署,内置 Web UI,管理相对方便,下面介绍Linux 本地

    2024年02月05日
    浏览(46)
  • 【微服务部署】三、Jenkins+Maven插件Jib一键打包部署SpringBoot应用Docker镜像步骤详解

      前面我们介绍了K8S+Docker+Maven插件打包部署SpringCloud微服务项目,在实际应用过程中,很多项目没有用到K8S和微服务,但是用到了Docker和SpringBoot,所以,我们这边介绍,如果使用Jenkins+jib-maven-plugin插件打包部署SpringBoot项目的Docker镜像。   网上有多种Docker打包插件使用说

    2024年02月09日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包