Intellij IDEA快速实现Docker镜像部署

2023-11-16

1、Docker开启远程访问

[root@izwz9eftauv7x69f5jvi96z docker]# vim /lib/systemd/system/docker.service
#修改ExecStart这行
ExecStart=/usr/bin/dockerd  -H tcp://0.0.0.0:2375  -H unix:///var/run/docker.sock

#重新加载配置文件
[root@izwz9eftauv7x69f5jvi96z docker]# systemctl daemon-reload    
#重启服务
[root@izwz9eftauv7x69f5jvi96z docker]# systemctl restart docker.service 
#查看端口是否开启
[root@izwz9eftauv7x69f5jvi96z docker]# netstat -nlpt
#直接curl看是否生效
[root@izwz9eftauv7x69f5jvi96z docker]# curl http://127.0.0.1:2375/info

2、Intellij IDEA安装Docker插件

打开Idea,从File->Settings->Plugins->Install JetBrains plugin进入插件安装界面,在搜索框中输入docker,可以看到Docker integration,点击右边的Install按钮进行安装。安装后重启Idea。

重启后配置docker,连接到远程docker服务。从File->Settings->Build,Execution,Deployment->Docker打开配置界面。

3、spring boot服务Docker部署

3.1新建一个Spring boot工程,编写测试接口

3.2修改pom文件,添加properties,添加plugin

<properties>
        <java.version>1.8</java.version>
        <docker.image.prefix>bozai</docker.image.prefix>
    </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>
                    <imageName>${docker.image.prefix}/${project.artifactId}</imageName>
                    <dockerDirectory></dockerDirectory>
                    <resources>
                        <resource>
                            <targetPath>/</targetPath>
                            <directory>${project.build.directory}</directory>
                            <include>${project.build.finalName}.jar</include>
                        </resource>
                    </resources>
                </configuration>
            </plugin>
        </plugins>
    </build>

3.3配置Dockerfile文件:在工程根目录下新建Dockerfile文件。

内容,如下:

FROM java:8
VOLUME /tmp
COPY target/demo-0.0.1-SNAPSHOT.jar demo.jar
RUN bash -c "touch /demo.jar"
EXPOSE 8080
ENTRYPOINT ["java","-jar","demo.jar"]

4、创建Docker镜像

       将工程打包,在idea Terminal中执行mvn clean package命令进行编译打包,打包后会在target目录下生成jar包。生成jar包后,可以在本地启动服务,进行测试。测试后,配置docker镜像制件命令。从Run->Edit Configrations进入配置界面。

点击Docker,再点击+号,添加一个docker命令,输入Name,选择Server,选择Dockerfile文件,输入镜像tag,完成配置。

完成后,执行这个命令:

执行成功后,可以远程docker上看到这个镜像:

执行docker ps可以看到,镜像已经生产容器开始运行:

打开浏览器,访问测试:

参考:

https://my.oschina.net/wuweixiang/blog/2874064

https://blog.csdn.net/sealir/article/details/81200662

docker-maven-plugin插件:

https://blog.csdn.net/weixin_44424668/article/details/104062822

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Intellij IDEA快速实现Docker镜像部署 的相关文章

随机推荐

  • 防火墙规则-iptables四表五链

    文章目录 iptables 规则表规则链 四表五链 规则链内的匹配顺序 设置规则内容 列表查看规则 清除规则 自定义规则链 其他 设置匹配数据包的条件 通用条件匹配 协议匹配 地址匹配 接口匹配 显示条件匹配 数据包状态显示 接口匹配 显示
  • 代幣增發質押模式系統開發

    K means原理 K means 从字面看含有k和means两部分 K means算法会将样本量N特征数m的数据X 其中X是N m的矩阵 分到K个簇中 每个簇会有一个重心centroids 聚类效果的目标是通过计算簇中各个点到重心的距离平
  • 关闭cmd或其它win exe程序方法python

    import os def kill exe exe name os system taskkill f t im exe name MESMTPC exe程序名字 print 关闭进程 0 format exe name 例如 exe n
  • 一文搞懂MySQL索引(实现原理加优化实战,面试必问)

    前言 本篇文章从数据结构 B Tree的构建过程 MySQL索引实现 索引为什么那么快 MySQL有哪些索引 聚集索引和二级索引的区别 索引失效的原因 EXPLAIN关键字分析 索引实战 索引的优缺点 什么时候应该加索引 全方面帮助读者理解
  • Error in: PCL_DEPRECATED_HEADER(1, 15, “Please include pcl/common/io.h directly.“)

    error error expected constructor destructor or type conversion before token PCL DEPRECATED HEADER 1 15 Please include pc
  • 【Pip和Conda安装包的区别】

    Pip和Conda都是用于Python软件包管理的工具 但它们有以下区别 包管理器 Pip是Python的默认包管理器 而Conda是Anaconda发行版的包管理器 跨平台支持 Pip在各个平台上都可以使用 但是Conda特别适用于跨平台
  • VUE 出现登录界面但控制台报错FAILED TO LOAD RESOURCE: NET::ERR_CONNECTION_REFUSED

    首先 vue项目运行的端口号一般为8080 地址出现8080 1 2 说明8080端口被占用 导致vue项目在别的端口运行 但会与本地后台端口对应不上报如标题所示错误 解决方法 1 查看端口被哪个进程占用 输入命令 netstat ano
  • crm项目的搭建

    一 创建Maven项目 1 选择Maven下的 org jetbrains idea maven model Maven Archetype webapp 2 三板斧 坐标 GroupId com shsxt ArtifactId shsx
  • Fabric实战(13)Fabric链码调试(容器外)

    链码调试 本文章所有操作基于的操作系统版本是 ubuntu16 04 64位 本文章基于的Fabric网络环境是 Fabric实战 2 运行一个简单的fabric网络 容器外 1 开发环境链码调试 1 1 容器之外运行Chaincode 第
  • 开机出现start pxe over ipv4 /start pxe over ipv6无法进入系统?!

    我遇到的是戴尔电脑start pxe over ipv4 出现此类问题的原因 用户将win10系统装成win7后出现的 一般是由于在重装系统之前在BIOS中不小心设置错误所引起的 解决方法 方法一 1 首先进入bios 不同品牌按不同的热键
  • C# 通过 RabbitMQ 实现定时任务 (延时队列)

    环境准备 需要在MQ中进行安装插件 地址链接插件介绍地址 https www rabbitmq com blog 2015 04 16 scheduling messages with rabbitmq 使用场景 作为一个新的预支付订单被初
  • 部署SpringBoot项目到云服务器

    服务器选择以及项目背景 我购买的是阿里云ECS服务器 它的特点是可以给我们配置服务器较大的自由度 我选择的是Centos Linux操作系统 我这次是希望在服务器上部署一个SpringBoot后台项目 最后实现的效果是我可以在手机App上通
  • Vivado的一些tcl命令记录(待补充)

    1 Report Clock Networks report clock networks name network 1 2 分析设计中逻辑级数的分布 report design analysis logic level distribut
  • NLP(自然语言处理)是什么?

    NLP基本概念 自然语言处理 Natural Language Processing NLP 是以语言为对象 利用计算机技术来分析 理解和处理自然语言的一门学科 即把计算机作为语言研究的强大工具 在计算机的支持下对语言信息进行定量化的研究
  • simplest-jpa v1.2.0如何优雅实现多租户

    开始使用 simplest详细文档 simplest jpa 使用多租户需要 2 个步骤 在属性中配置对应租户表和列 配置 TenantFactory 注入租户数据源 TenantFactory 是用于生产租户 ID 的 或者说是用于获取当
  • idea 内存不足 low memory 彻底解决

    1 在IDE中 帮助 help gt 编辑自定义vm配置 idea64 exe vmoptions文件 修改 Xmx2048m Xms2048m 增加根据自己的系统内存 此时重启idea 仍然报内存不足 提示提高内存 通过idea log发
  • Loader Runner 课程笔记(一)录制设置和压测

    1 录制前设置 1 创建脚本 新建单协议脚本 选择Web协议 创建 LR11只支持WIN7系统 浏览器IE8 9和低版本的火狐 24 0或36 0 高版本IE可以卸载装IE8或9 不支持谷歌 LR自带火狐路径HP LoadRunner bi
  • 关于ECC-Elgamal同态加密

    关于ECC Elgamal同态加密 1 什么是ECC elliptic curve 1 有限域 首先我们要知道椭圆曲线加密是在有限域进行加密的 对于无限域上的加密我没有了解过 在椭圆曲线 加密上有限域分为 1 GF p 素数域2 GF 2
  • Python 爬虫案例

    一 用cookie池模拟登录 在网络请求交互中 为了维持用户的登录状态 引入了cookie的概念 当用户第一次登录某个网站时 网站服务器会返回维持登录状态需要用到的信息 这些信息就称为cookie 浏览器会将cookie信息保存在本地计算机
  • Intellij IDEA快速实现Docker镜像部署

    1 Docker开启远程访问 root izwz9eftauv7x69f5jvi96z docker vim lib systemd system docker service 修改ExecStart这行 ExecStart usr bin