小知识: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 插件即可,安装完毕重启生效

%小知识:IDEA集成docker实现远程部署的步骤-猿站网-插图

重启后可以通过 Build,Execution,Depolyment ――> Docker 路径找到 Docker 插件,再此新增一个连接远程 Docker 的配置

%小知识:IDEA集成docker实现远程部署的步骤-1猿站网-插图

连接成功后,在 IDEA 插件面板中可以查看远程 docker 主机的镜像和容器,也可以查看容器运行的日志等信息

%小知识:IDEA集成docker实现远程部署的步骤-2猿站网-插图

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 后又好了。不要问为什么,问就是玄学

%小知识:IDEA集成docker实现远程部署的步骤-3猿站网-插图

docker 镜像构建好之后,右击镜像文件可以选择创建容器。创建新的容器最简单的步骤是为容器命名,然后添加宿主机到容器的端口映射,创建成功后容器会自动运行

%小知识:IDEA集成docker实现远程部署的步骤-4猿站网-插图

到此这篇关于IDEA集成docker实现远程部署的步骤的文章就介绍到这了,更多相关IDEA docker远程部署内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/weixin_45505313/article/details/118486884

声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。
建站知识

小知识:解决docker容器与宿主机相差8小时的问题

2023-3-15 12:02:21

建站知识

小知识:IDEA集成docker部署springboot项目的全过程

2023-3-15 12:17:10

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索