我的编程空间,编程开发者的网络收藏夹
学习永远不晚

IDEA 集成 docker 实现远程部署的详细步骤

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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

2. IDEA 安装 docker 插件

一般比较新的 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 文件夹,则创建一个与 class="lazy" data-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远程部署内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

IDEA 集成 docker 实现远程部署的详细步骤

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

IDEA 集成 docker 实现远程部署的方法

这篇文章主要介绍“IDEA 集成 docker 实现远程部署的方法”,在日常操作中,相信很多人在IDEA 集成 docker 实现远程部署的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”IDEA 集成 d
2023-06-20

Linux+Docker+SpringBoot+IDEA一键自动化部署的详细步骤

Linux+Docker+SpringBoot+IDEA一键自动化部署的步骤记录从打包到服务器配置上线全流程安装docker 详细步骤请戳这里 用yum源安装用yum源安装 查看是否已安装docker列表yum list installed
2022-06-03

阿里云ECS实现自动化部署的详细步骤

随着云计算的发展,自动化的部署已经成为一种必要的管理方式。本文将详细介绍如何使用阿里云ECS实现自动化部署。在当今的云计算环境中,自动化的部署已经成为一种必要的管理方式。阿里云ECS是阿里云提供的弹性计算服务,可以为用户提供高性能的计算和存储服务。本文将详细介绍如何使用阿里云ECS实现自动化部署。步骤一:创建阿里
阿里云ECS实现自动化部署的详细步骤
2023-10-31

Docker容器化部署Nginx的详细步骤与最佳实践(如何在Docker中高效部署Nginx服务?)

本文提供了详细步骤和最佳实践,指导如何将Nginx部署为Docker容器。步骤包括创建镜像、运行容器、配置Nginx以及管理容器。最佳实践建议使用最新版本、自定义配置、启用日志记录、使用反向代理以及监控容器。此外,本文还强调了安全容器的重要性,并建议定期备份和更新。
Docker容器化部署Nginx的详细步骤与最佳实践(如何在Docker中高效部署Nginx服务?)
2024-04-02

Maven Web项目使用Cargo插件实现自动化部署的详细步骤

cargo,它是一组帮助用户实现自动化部署,操作Web容器的工具,并且几乎支持所有的Web容器,这篇文章主要介绍了Maven Web项目使用Cargo实现自动化部署,需要的朋友可以参考下
2023-02-21

编程热搜

目录