业界动态
idea 使用docker插件,实现一键自动化部署。
2024-12-27 01:56

环境:

​ jdk1.8及以上。

Maven 3.2+

​ idea

​ docker

首先我们要开启docker的远程连接访问。保证不是docker所在的服务器,也能够远程访问docker。

Linux版的docker:

  1. 修改docker.service文件,添加监听端口 -H tcp://0.0.0.0:2375

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

  1. 重启docker
  1. 如果我们有防火前记得添加防火墙策略或者关闭防火墙。

window版docker

在电脑左下角找到docker图标,鼠标右键选择settings。 将General菜单下的Expose daemon on tcp://localhost:2375 without TLS勾选。无需重启。

  1. 在File --> Settings --> Plugins 在输入框中搜索Docker,选择并安装。安装完成后重启Docker。
  1. 配置docker

在File–> Settings–>Build,Execution,Deployment中找到Docker

新建一个docker实例,然后在Engine API URL中将docker所在ip端口号填上,填完如果下面显示Connection successful证明连接docker成功。如果失败,可能是我们上一步docker开启远程连接未成功。

我们设置完成后,回到idea主界面,可以看到页面下面有一个docker窗口。点击绿色箭头,连接docker。连接上后显示Containers和Images就是我们现在docker中已经有的容器和镜像。

一 、 创建项目

我就以一个简单的Eureka项目演示。

File–> New -->Project --> Spring Initializr

二、 配置项目

  1. 修改pom.xml文件,引入docker-maven-plugin插件相关配置. 改配置在<plugins>标签内
  1. 配置项目的基本配置。( 这里不是重点,一笔带过)

①修改application.properties,添加项目相关信息。

② 找到项目启动类,添加@EnableEurekaServer注解

  1. 添加Dockerfile文件。

如果我们docker中没有java:8 这个镜像,请先使用docker pull java:8,将镜像先拉下来。

我们添加了一个VOLUME指向“/ tmp”的内容,因为这是Spring Boot应用程序默认为Tomcat创建工作目录的地方。效果是在“/var/lib/docker”下的主机上创建一个临时文件,并将其链接到“/ tmp”下的容器。对于我们在此处编写的简单应用程序,此步骤是可选的,但如果需要在文件系统中实际编写,则对于其他Spring Boot应用程序可能是必需的。

为了减少Tomcat的启动时间,我们添加了一个指向“/dev/urandom”的系统属性作为熵源。如果您使用Tomcat(或任何其他Web服务器)的“标准”版本,则不需要更新版本的Spring Boot。

使用maven打包。我们在pom.xml中配置过,如果我们是用maven的package,那么就会自动使用Dockerfile文件进行构建。

我们从控制台可以看到,已经给我构建了一个和我们项目名相同的镜像文件。

我们在docker窗口可以看到,我们的镜像库中多个一个eurekaserver:latest镜像。

我们在docker窗口中,找到我们刚才创建的镜像文件,鼠标右键,选择Create container,我们修改创建容器所需要的配置。

在Create Docker Configuration弹窗中修改Container name(容器名称) Bind ports(Ip和端口映射)

我在这里添加127.0.0.1:8080:9090. 使用本地8080端口,去访问容器的9090.

我们点击Run之后,就会自动创建容器并启动。

我们可以看到在docker插件中,多出了一个eurekaServer的容器,并且启动成功,端口号为9090.

访问容器中的项目

我们在前面设置的是使用8080端口,访问容器9090的项目。

我们使用127.0.0.1:8080访问项目,出现如下页面,证明项目启动成功。

idea 使用docker插件,实现一键自动化部署。

在这里我们基本上已经完成了所有的配置。

以后,我们启动项目可以按照下图所示,一键启动我们项目就会在docker容器中运行。

如果我们修改了项目,在使用在docker插件中启动项目,会发现在启动依然还是修改前的项目,因为我们只是启动了容器,并没有将修改后的项目重新打包并生成docker的images。 如果我们想在启动时直接用运行打包并启动项目可以按照下面的操作。

  1. 我们修改在前面我们创建的Docker Images 的配置。
  1. 我们在这里的Command line 中添加一个命令 package。

配置完成后保存。以后我们启动项目时都会执行maven的package命令,自动将我们打包并把项目生成docker镜像文件启动。

如果我们只需要启动项目,到docker插件窗口,启动对应项目的容器就可以了。

参考 https://www.cnblogs.com/hsz-csy/p/9488469.html

    以上就是本篇文章【idea 使用docker插件,实现一键自动化部署。】的全部内容了,欢迎阅览 ! 文章地址:https://sicmodule.kub2b.com/news/10679.html
     栏目首页      相关文章      动态      同类文章      热门文章      网站地图      返回首页 企库往资讯移动站 https://sicmodule.kub2b.com/mobile/ , 查看更多   
最新文章
发改委:推进户用光伏发展,助力农民拓宽增收新路径
中国产品流通经纪人协会供销合作行业标准《农产品食品供应商信用评价规范》参编单位征集函中国农产品流通经纪人协会供销合作行业
泉州百度爱采购运营介绍
百度爱采购入驻条件有哪些:商家需持有工商行政管理局颁发的营业执照,并且执照在6个月有效期内;厂家商品真实在营且符合国家相
抖音feed是什么 feed广告投放流程
feed是什么?feed流(又称信息流)它是穿插在App内容中的广告,具有原生沉浸式体验,支持多种展现形式。feed可以进行线索收集,
抖音投流怎么投?找到最合适的优化路线,实现精准引流与高效转化!
在如今竞争激烈的市场中,抖音广告已经成为商家吸引流量、增加曝光和转化的重要工具。很多企业都在问:“抖音投流怎么投,才能真
提升脸书播放/浏览量:Facebook Workplace的策略
以下介绍:提升脸书播放/浏览量:Facebook Workplace的策略关于提升脸书播放/浏览量:Facebook Workplace的策略所提到的问题请大
想换07年左右的老车,值得吗?
百车全说别人研究车,而我研究你!问:想买一辆2007年左右,绿色(丨), 3.0。主要是喜欢这种雪茄车身,想留着自己偶尔开一下,家
年度盘点丨西安:2024年度十大交通精细化治理案例
​​2024年,西安公安交警深入践行以人民为中心的发展思想,聚焦群众反映强烈的交通问题,坚持缓堵保畅、全域治理,坚持小切口入
怎样才能很好的提高百度SEO的排名呢
怎样使自己的网站在百度等搜索引擎排名靠前  提高用户体验确保网站加载速度快,移动设备友好,并提供良好的用户互动体验。利用
《人工智能:未来世界的“智慧引擎”》
在当今这个科技飞速发展的时代,人工智能(Artificial Intelligence,简称AI)正以前所未有的速度重塑
未来直播技术的创新与发展方向
随着信息技术的快速发展和移动互联网的广泛普及,直播已经成为当今互联网领域的重要应用之一。从最初的娱乐直播到现在的教育直播