idea集成docker-compose(IDEA 集成 docker 实现远程部署的详细步骤)
idea集成docker-compose
IDEA 集成 docker 实现远程部署的详细步骤1. docker 服务器开启远程访问登录 docker 所在的远程服务器,使用命令 vim /usr/lib/systemd/system/docker.service
修改配置文件,需注意,修改时确认自己的账户拥有相应权限
主要操作是找到 ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock 这一行,注释掉,重新添加一行,在后面新增-H tcp://0.0.0.0:2375表示打开2375端口,支持远程连接 docker
#ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
保存配置文件后需要将配置重新载入,重启 docker,可使用如下命令
systemctl daemon-reload systemctl restart docker.service
一般比较新的 IDEA 都绑定了 docker 插件,如未绑定在 IDEA 的 Plugins 中搜索安装 docker 插件即可,安装完毕重启生效
重启后可以通过 Build,Execution,Depolyment ——> Docker 路径找到 Docker 插件,再此新增一个连接远程 Docker 的配置
连接成功后,在 IDEA 插件面板中可以查看远程 docker 主机的镜像和容器,也可以查看容器运行的日志等信息
3. docker 镜像构建上传要将本地打包的 jar 构建成 docker 镜像,需要在项目 pom 文件中添加构建插件配置。如下是一个 SpringBoot 项目模块的打包配置,关键点如下:
构建一个名称为nathan-api
的 jar 包,首先添加spring-boot-maven-plugin
插件添加一个docker-maven-plugin
插件,配置 docker 镜像的各个关键属性。注意,这个插件会下载com.spotify.docker-maven-plugin
jar 包,如下载出错更换几个版本试试, 版本列表可参考 Maven 中央仓库
<build> <finalName>nathan-api</finalName> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <version>2.4.2</version> <executions> <execution> <goals> <goal>repackage</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <version>1.1.0</version> <!--将插件绑定在某个phase执行--> <executions> <execution> <id>build-image</id> <!--用户只需执行mvn package ,就会自动执行mvn docker:build--> <phase>package</phase> <goals> <goal>build</goal> </goals> </execution> </executions> <configuration> <!--指定docker文件目录--> <dockerDirectory>${project.basedir}/docker</dockerDirectory> <!--指定生成的镜像名--> <imageName>${project.artifactId}</imageName> <!--指定标签--> <imageTags> <imageTag>latest</imageTag> </imageTags> <!--指定远程 docker api地址--> <dockerHost>http://xxx.168.146.63:2375</dockerHost> <!-- 这里是复制 jar 包到 docker 容器指定目录配置 --> <resources> <resource> <targetPath>/</targetPath> <!--jar 包所在的路径 此处配置的 即对应 target 目录--> <directory>${project.build.directory}</directory> <!-- 需要包含的 jar包 ,这里对应的是 Dockerfile 中添加的文件名 --> <include>${project.build.finalName}.jar</include> </resource> </resources> </configuration> </plugin> </plugins> </build>
上一步骤中在 docker 的 maven 插件中配置了 docker 文件的目录,指定的是模块根目录下的 docker
文件夹,则创建一个与 src 平级的名称为 docker 的目录,在其中新建一个名称为 Dockerfile
的文件,其内容如下:
FROM java:8 VOLUME /tmp # 将打包好的 jar 复制到 app.jar 中 ADD nathan-api.jar app.jar EXPOSE 20561 # 以下为 jar 包启动命令配置 ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom","-Duser.timezone=GMT+8", "-jar", "app.jar"]
经过以上配置,已经将构建 docker 镜像的动作绑定到了 maven 的 package
打包命令,则执行打包即可
笔者在这一步遇到过
ADD failed: file not found in build context or excluded by .dockerignore
报错,主要问题是没有找到Dockerfile
文件中 ADD 命令需复制的源文件。出现这个报错首先检查Dockerfile
文件配置的文件路径是否正确,其次检查实际打包的 jar 名称是否与Dockerfile
配置的文件名称相同。笔者检查配置,确认没有路径和名称错误,最后 clean 重启几次 IDEA 后又好了。不要问为什么,问就是玄学
docker 镜像构建好之后,右击镜像文件可以选择创建容器。创建新的容器最简单的步骤是为容器命名,然后添加宿主机到容器的端口映射,创建成功后容器会自动运行
到此这篇关于IDEA 集成 docker 实现远程部署的详细步骤的文章就介绍到这了,更多相关IDEA远程部署内容请搜索开心学习网以前的文章或继续浏览下面的相关文章希望大家以后多多支持开心学习网!
- idea激活服务器(搭建本地的idea激活服务器的详细教程)
- idea 部署到tomcat 的项目在哪儿(使用IDEA创建Web项目并发布到tomcat的操作方法)
- idea docker部署微服务(idea连接docker实现一键部署的方法)
- idea调试怎么配置tomcat(如何提升Idea启动速度与Tomcat日志乱码问题)
- idea的tomcat怎么运行项目(idea配置tomcat启动web项目的图文教程)
- 如何测试idea启动tomcat成功(解决IDEA配置tomcat启动报错问题)
- docker网页实现idea项目(IDEA 配置Docker的过程)
- idea配置mysql最大连接数(IDEA连接不上MySQL端口号占用的解决)
- idea向数据库中插入中文报错(Idea连接MySQL数据库出现中文乱码的问题)
- idea社区版使用tomcat部署项目(基于IDEA部署Tomcat服务器的步骤详解)
- idea配置tomcat启动web项目(如何在IntelliJ IDEA 2018上配置Tomcat并运行第一个JavaWeb项目)
- vue怎么配置到idea(idea编译器vue缩进报错问题场景分析)
- idea docker使用(最新IDEA快速实现Docker镜像部署运行的过程详解)
- idea 远程部署docker(通过idea打包项目到docker的操作方法)
- springboot项目部署到docker(IDEA 通过docker插件发布springboot项目的详细教程)
- idea 一键部署springboot docker(IDEA部署Docker到WSL2的详细过程)
- 河南尉氏县因地制宜发展果蔬种植 水坡镇绿宝甜瓜变 金瓜(河南尉氏县因地制宜发展果蔬种植)
- 谢广坤,你这么欺负谢腾飞,良心不会痛吗(你这么欺负谢腾飞)
- 乡村爱情15 宋晓峰怀疑自己孩子,腾飞与姜奶奶亲子鉴定出结果(宋晓峰怀疑自己孩子)
- 《乡村爱情13》开播,新版刘能以假乱真,编剧思维进入瓶颈(新版刘能以假乱真)
- 当年的 白洋淀战神 练肌肉 嘎子哥也成为行走的荷尔蒙(当年的白洋淀战神)
- 肌肉小子陈康, 亚洲巨兽 黄哲勋,哪个才是你的菜(肌肉小子陈康亚洲巨兽)
热门推荐
- appui代码(AmazeUI 图标的示例代码)
- vue身份验证(详解vue身份认证管理和租户管理)
- python3字符串怎么操作(Python3字符串encode与decode的讲解)
- 怎么编写计算小程序(微信小程序实现简易计算器)
- oracle和mysql查询所有表(Oracle、MySQL和SqlServe三种数据库分页查询语句的区别介绍)
- iis7.5怎么安装(IIS7.5打开启用GZip压缩功能的设置教程方法)
- docker保存容器的配置文件(docker cp 拷贝文件 和 进入容器的操作)
- 云服务器迁移到新服务器(网站云服务器迁移方案需要注意什么?)
- dedecms参数不显示(DEDECMS后台登陆空白排查错误原因)
- div如何占满剩余高度(DIV始终浮动在页面底部)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9