牛逼!Docker遇到Intellij IDEA,再次解放了生产力~

银河麒麟v10-arm SEALOS离线部署k8s集群(v1.22.8) 示例 如果你想保存一个名为 "my_snapshot" 的 etcd 快照到指定的对象路径你可以使用以下命令: sealos etcd save --backupPath /root --name my_snapshot 如果文件名带时间戳:my_snapshot$(date +"%Y%m%d_%H%M%S") 会生成一个形如 20230913_143045 的时间戳。--restorePath string:指定快照恢复目录(默认为 "/opt/sealos/etcd-restore")。 阅读详情

Idea是Java开发利器,SpringBoot是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,如下图所示

3. 重启docker
 systemctl daemon-reload
 systemctl start docker
4. 开放端口
firewall-cmd --zone=public --add-port=2375/tcp --permanent
5. Idea安装插件,重启
6. 连接远程docker
 (1) 编辑配置
  
(2) 填远程docker地址

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

二、新建项目

1. 创建springboot项目

项目结构图

(1) 配置pom文件
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>


    <groupId>docker-demo</groupId>
    <artifactId>com.demo</artifactId>
    <version>1.0-SNAPSHOT</version>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.2.RELEASE</version>
        <relativePath />
    </parent>


    <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.version}.${project.packaging}"></copy>
                        </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>
</project>
(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) 增加配置

命令解释

Image tag : 指定镜像名称和tag,镜像名称为 docker-demo,tag为1.1
Bind ports : 绑定宿主机端口到容器内部端口。格式为[宿主机端口]:[容器内部端口]

Bind mounts : 将宿主机目录挂到到容器内部目录中。格式为[宿主机目录]:[容器内部目录]。这个springboot项目会将日志打印在容器 

/home/developer/app/logs/ 目录下,将宿主机目录挂载到容器内部目录后,那么日志就会持久化容器外部的宿主机目录中。

(7) Maven打包
(8) 运行

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

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

(9) 运行成功
(10) 浏览器访问

(11) 日志查看

自此通过idea 部署springboot项目到docker成功!难以想象,部署一个Javaweb项目竟然如此简单方便!

作者:陶章好
链接:https://juejin.im/post/5d026212f265da1b8608828b
来源:掘金

LTE/NR中的相应cause场景【原创】 目录1.背景2.LTE EMM cause2.0 写在最前2.1 特殊处理的cause第一梯队第二梯队2.2 非特殊处理的cause3.NR cause 实网分析终端被拒等问题,经常遇到各类cause,其会对应不同的终端限制行为。查找已有资料后理解没有很深,自行总结本文用于梳理现象,如有错误敬请指正,转载请注明出处。 本文用于记录协议Ts 24.301及Ts 24.501中的cause及其对应行为。 已总结的cause值: 24.301中的cause分 阅读详情

相关推荐

Yersinia:layer 2攻击框架!全参数详细教程!Kali Linux教程!

Yersinia是一个专为执行二层网络攻击设计的框架,利用多种网络协议的弱点进行渗透测试和网络分析。它支持针对生成树协议(STP)、思科发现协议(CDP)、动态中继协议(DTP)、动态主机配置协议(DHCP)、热备用路由器协议(HSRP)、802.1q、802.1x、交换机间链路协议(ISL)和VLAN中继协议(VTP)的攻击。这些攻击可能导致网络中的拒绝服务(DoS)或为更复杂的攻击创造条件。Yersinia对渗透测试人员和网络管理员非常有用,但使用时需谨慎,以免造成网络不稳定。

qq_24305079的博客 2283

idea数据库与2网页的连接_java小工具|用idea查看方法的调用过程

开头说两句小刀博客:https://www.lixiang.red小刀公从号: 程序员学习大本营项目背景我们通过运行idea时, 只是点一下run或者debug , 其实还有一些高级的运行/debug选项可以使用,如idea 2019.2版本,可以在run的时候查看方法调用以前的运行方式如图所示,在idea里面运行main函数或者单元测试时有以下的选项通常来说我们都是点的第一个或者第二...

weixin_39616547的博客 319

支持找回微信删除好友!一款人人可用的全能微信数据分析工具

找回删除好友、查看删除记录、恢复聊天信息....

1731

完美:Docker遇到Intellij IDEA这个插件,再次解放生产力~

Idea是Java开发利器,SpringBoot是Java生态中最流行的微服务框架,docker是时下最火的容器技术,那么它们结合在一起会产生什么化学反应呢?一、开发前准备1. Dock...

码农code之路 498

C++网络编程 - Boost::asio异步网络编程 - 01- boost库源码编译安装

知识的学习在于点滴记录,坚持不懈;知识的学习要有深度和广度,不能只流于表面,坐井观天;知识要善于总结,不仅能够理解,更知道如何表达! 目录 如果需要录屏资料,请私信邮箱shitou3000@qq.com获取。 ...

大秦坑王的专栏 1万+

面向非平行语料的语音转换技术综述

摘要语音转换是语音及人工智能领域的一项研究课题,其目标是在保持源语音内容不变的情况下改变语音的音色,使其听上去像是由另一个目标说话人说出的,同时还需保证语音的质量和自然度。面向非平行语料的语音转换技术是当下的热门研究内容,其使用非平行的多说话人语音数据集进行模型训练,能完成多对多以及任意对任意的语音转换。对近年来面向非平行语料的语音转换进行了全面的总结和分析。首先概述了早期面向平行语料的语音转换及其缺陷,然后对当下面向非平行语料的语音转换的各类实现方法进行介绍和对比分析,最后对语音转换技术进行了总结和展望。

qq_61890005的博客 832

关于IDEA开发工具的xml配置文件内容变灰问题解决

关于IDEA开发工具的xml配置文件内容变灰问题解决 看了许多解决此类问题的文章,其中的方法也都试了一下,但结局却不美好。之后在右击选中文件时发现的了一个小细节。 右击文件之后有一个这个选项,意思是改变为普通文本文件 我在点击这个选项之后,再次右击这个文件,此时不同的文件会有不同的结果 例如xml文件:改变为xml文件 而有些变灰的xml配置文件却得不到这个选项(如果有,有的就不用往下看了),有些人是:mark as Test 有的是 mark as …; 排除所有相同的,则不同的就是突破口,Test、

qq_45152095的博客 2437

玩转Docker小游戏项目系列: Docker部署红心纸牌网页小游戏

玩转Docker小游戏项目系列: Docker部署红心纸牌网页小游戏

jks212454的博客 423

idea工程在maven projects中显示灰色的解决办法

在Mac上使用idea进行开发的过程中,一般在MavenProject中包含四个文件如下: 1)profile, 2)WebMavenTest(工程名) 3)WebMavenTestSdk(工程名SDK) 4)WebMavenTestService(工程名服务) 当其中某个文件变成灰色,如下所示: 造成这个的原因是忽略了maven模块,此时需要将忽略的文件ignored files进行恢复。 问题解决步骤: 1、IntelliJ IDEA——Preferences,搜索“Maven”..

马句 843

C语言使用开源库libusb进行USB设备操作

https://libusb.info/libusb is a C library that provides generic access to USB devices. It is intended to be used by developers to facilitate the production of applications that communicate with USB hardware. It is portable: Using a single cross-platform AP

m0_60352504的博客 1557

NVIDIA Omniverse 技术浅析(二):USD

例如,一个用户可以负责场景的几何体设计,另一个用户可以负责材质和灯光的调整。USD 的开放性和可扩展性,结合 Omniverse 的 Kit 扩展框架,使得用户和开发者可以创建自定义的应用程序和工具,以满足特定的需求。USD 的材质和物理属性系统,结合 Omniverse 的 RTX 实时渲染技术,使得用户可以在虚拟环境中看到逼真的光影效果和物理模拟。USD 的时间轴和动画功能,结合 Omniverse 的物理属性系统,使得用户可以为虚拟环境中的元素创建复杂的动画和物理模拟。

m0_75253143的博客 447

Pycharm- Edit Congirations呈现灰色解决

今天打开pycharm时,发现.py文件运行不了,我记得时调Edit configurations的选项的发现该选项是灰的,就比较尬尬的,想改也改不了后来我的解决方法是,回到pycharm的主界面,如果上次是打开,直接关的话,会直接进入该工程,而不会回到该主界面。直接在File选项中关闭工程,然后会有Setting,在右下方,点击进去,然后配置一下解释器就好了,我也觉得很奇怪,可能有其他方法吧,只...

Kol_mogorov的博客 6562

stm32项目实战(1)光敏电阻的介绍和使用

文章目录前言一、光敏电阻介绍二、cubeMX配置三、代码说明总结 前言 本篇文章我们讲带大家了解光敏电阻的使用 一、光敏电阻介绍 下面是4线光敏电阻实物图 产品接线说明: 1、VCC 接电源正极 3.3-5V 2、GND 接电源负极 3、DO TTL 开关信号输出 (配置为输出模式) 4、AO 模拟信号输出(ADC采样通道) 光敏电阻主要用于检测周围的光照强度,光照强度发生变化那么ADC采样的值也会发送变化。 二、cubeMX配置 简单的配置我们就不多说了主要是ADC采样的配置 这里我采用的是ADC1通道

m0_49476241的博客 1万+

idea连接docker报email required_牛逼!Docker遇到Intellij IDEA,再次解放了生产力!

黑马程序员上海中心学姐微信:xuejie077关注Idea是Java开发利器,SpringBoot是Java生态中最流行的微服务框架,docker是时下最火的容器技术,那么它们结合在一起会产生什么化学反应呢?一、开发前准备1. Docker的安装可以参考https://docs.docker.com/install/2. 配置docker远程连接端口vi /usr/lib/systemd...

weixin_30847063的博客 805

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

IDEA 更新代码,run下的项目灰色,无法启动

问题描述: 项目update之后,springboot项目为灰色,无法启动运行。 解决方案: 在Edit Configurations中,1、新建一个取名类似的该服务,2、删除原有灰色或者报错的项目,3、再将新建项目改回原来的名子保存,4、正常run启动 图片 ...

colin_hui_的博客 3227

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

IDEA 2021.1微服务项目变灰了怎么解决(Spring Cloud+Spring Boot+Maven))

一般出现这种问题,可能是因为你不当的操作,删除了某些配置而导致的。 解决方法: 点击工具上方的小箭头,打开下拉框。 如果你的选项中有一个Save XXXXXX Configuration 这个选项,那直接点击他就可以解决。 如果像我的一样没有的话,就继续往下看。 点击Edit Configurations. 我的IDEA是2021版的,所以这里直接跳出了下面的界面。 点击左上角的小加号,选择添加Spring Boot 然后按照下面的标号的顺序填一下就可以了。 第1个空:填的是你变灰的那个项目名,

weixin_42868605的博客 5774

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

解决Idea 中Springboot项目Debug按钮和run灰色无法点击

重启电脑,debug按钮直接不能用 1、重启解决不掉 2、勾选Edit Configuration中,Spring Boot Updates classes and resources也没有解决掉 然后 打开Idea file->settings搜索Plugins找到Groovy,然后把这个插件enable前面的对勾去掉即可 【如果找不到settings,可以打开Preferences,然后搜索Plugins,然后在plugins中搜索Groovy,把后面的勾去掉】 ...

Frank_lyn的博客 4259

IDEA创建的boot项目启动类是灰色的,如何解决

如果还不行的话,建议降低Maven的版本,亲测有效因为Maven3.6以上的版本和最新的IDEA有写不兼容哦。

勤劳的小琪 3992

解决 IDEA maven项目 maven projects 中项目是灰色的,依赖无法添加的问题

maven中某个模块颜色呈淡灰色,依赖无法添加,原因是我们之前建立了一个与之同名的模块 解决办法:如下设置中将√去掉

qq_45748157的博客 726

idea工程在maven 中个别项目显示灰色的解决办法

可以解决问题的好文章!

qq_42692714的博客 1737

idea导入项目左边是灰色的

idea打开一个工程的时候,左边显示是灰色的,并且main方法也没有运行选项 原因:没有加入到maven工程 在pom文件上面点击右键,“add as maven”,就可以了,这也是将普通工程转为了maven工程 然后在idea里面依赖什么的都会自动导入,剩下就是问题排解了。 ...

未来与一生 3290

IDEA创建Spring boot项目时各依赖的说明(Developer Tools篇)

Developer ToolsSpring boot DevTools 开发人员工具LombokSpring Configuration Processor Spring boot DevTools 开发人员工具 它最重要的功能就是自动应用代码更改到最新的应用程序上,只要类路径上的文件发生更改,使用的应用程序就会自动重新启动。即实现热部署,方便开发过程中调试代码。 如果不想使用重新启动功能,则...

写代码的中年人 5245

Docker工具之IDEA中Docker插件的使用

目录 一、配置Docker插件: 1.安装Docker插件: 2.配置Docker服务器: 3.配置Docker镜像仓库: 二、使用Docker插件: 1.创建镜像并启动容器: i.配置镜像参数: ii.运行镜像配置: 2.上传镜像到Docker仓库(Daocloud私有仓库): 3.下载镜像从Docker仓库(DaoCloud仓库): 4.启动容器: 一、...

hanxiaozhang的博客 1430

给idea装上docker插件

给idea装上docker插件 一. 前言 当我们给idea 装上docker插件,并做好相应的配置后,打包镜像和上传变得如此丝滑,我们只要做通过maven做一下打包操作,这一切都被完成了。 二. 配置服务器 我们在本地打包 生成镜像 上传到远程的docker中,自然需要开放远程相应的端口,现在我们就来做这个动作 vim /usr/lib/systemd/system/docker.service # 在ExecStart=/usr/bin/dockerd 后面追加 -H tcp://0.0.0.0:237

索隆有几把刀的博客 581
上一篇: 你用什么软件做笔记?
下一篇: 线程数:射多少最合理?
Java思维导图
博客等级 码龄10年 306粉丝 71原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值