纯净、安全、绿色的下载网站

首页|软件分类|下载排行|最新软件|IT学院

当前位置:首页IT学院IT技术

IDEA使用Docker IDEA使用Docker插件(菜鸟教程)

最强菜鸟   2021-08-06 我要评论
想了解IDEA使用Docker插件(菜鸟教程)的相关内容吗最强菜鸟在本文为您仔细讲解IDEA使用Docker的相关知识和一些Code实例欢迎阅读和指正我们先划重点:IDEA使用Docker下面大家一起来学习吧。

说明

之前docker的学习包括镜像拉取容器创建等操作都需要自己手动敲命令来实现但是如果在idea中使用Docker插件就可以不用敲命令也可以实现对docker的操作不得不说idea这个工具是真的强!!!本文会持续更新不断地扩充

本文仅为记录学习轨迹如有侵权,联系删除

注意:一般是用的服务器作为测试这里就采用虚拟机+Ubuntu系统的方式

一、开启Docker远程访问

如果使用idea编辑器的话可以使用docker插件来远程使用服务器(虚拟机)上的docker,简单方便快捷的使用docker,更重要的是使用插件可以实现项目的一键部署当然这还需要一些简单的配置。
默认的dokcer是不支持远程访问的需要加点配置开启Docker的远程访问

#修改Docker服务文件需要先切换到root用户
vim /lib/systemd/system/docker.service
#注释掉"ExecStart"这一行并添加下面这一行信息
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock -H tcp://0.0.0.0:2375

在这里插入图片描述

重新加载配置文件

#重新加载配置文件
systemctl daemon-reload
#重启服务
systemctl restart docker.service
#查看配置的端口号(2375)是否开启(非必要)
netstat -nlpt  #如果找不到netstat命令可以先安装一下这个工具具体百度

在这里插入图片描述

注意:如果上述过程失败的话有下面这种方式

首先确保端口号已经开放这个很重要!!!默认端口号2375

切换root用户命令:sudo su

编辑docker相关配置:
命令:vim /lib/systemd/system/docker.service进入编辑页面

在这里插入图片描述

找到ExecStart对应的那一行添加代码:-H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock (按下按键"i"进入编辑模式然后就可以添加数据了)

在这里插入图片描述

保存退出先按"esc"按键然后输入命令::wq回车即保存。

重启docker服务
守护进程重启:sudo systemctl daemon-reload
重启docker服务:sudo systemctl restart docker

查看端口号2375是否开放出现如图则成功

在这里插入图片描述

二、连接docker

使用idea的docker插件连接dockeridea默认已经下载过docker插件了如果没有的话需要在idea下载docker插件

在这里插入图片描述

点击idea的设置选项(file --> setting -> docker),新建连接

在这里插入图片描述

在这里插入图片描述

连接成功之后就可以使用服务器(虚拟机)上的docker了

在这里插入图片描述

三、镜像的拉取

idea可以通过可视化的方式拉取镜像不用自己去敲命令

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

有时候会出现拉取的时间超时的情况可以配置一下国内的镜像获取阿里云的加速器

在这里插入图片描述

四、容器的创建与运行

创建并且运行docker容器

在这里插入图片描述

在这里插入图片描述

创建成功之后可以看到新创建的容器也可以在服务器(虚拟机)上用docker命令查看

在这里插入图片描述

重启容器、停止容器和删除容器等操作

在这里插入图片描述

五、docker一键部署springboot项目

传统的docker部署springboot项目需要自己手动配置Dockerfile文件还需要将生成的jar包跟Dockerfile文件一起上传到服务器整个流程下来很麻烦如果用idea的docker插件就可以实现一键部署springboot项目,简单方便。

首先需要引入docker的构建工具

    <build>
        <!-- 引用我们的项目名字 -->
        <finalName>${project.artifactId}</finalName>

        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>


            <!--使用docker-maven-plugin插件-->
            <plugin>
                <groupId>com.spotify</groupId>
                <artifactId>docker-maven-plugin</artifactId>
                <version>1.0.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>
                    <!--指定生成的镜像名,这里是我们的作者名+项目名-->
                    <imageName>cainiao/${project.artifactId}</imageName>

                    <!--指定标签 这里指定的是镜像的版本我们默认版本是latest-->
                    <imageTags>
                        <imageTag>latest</imageTag>
                    </imageTags>

                    <!--指定基础镜像jdk1.8-->
                    <baseImage>java</baseImage>
                    <!--
                    镜像制作人本人信息
                    <maintainer>bruceliu@email.com</maintainer>
                    -->
                    <!--切换到ROOT目录-->
                    <workdir>/ROOT</workdir>

                    <!--查看我们的java版本-->
                    <cmd>["java", "-version"]</cmd>

                    <!--${project.build.finalName}.jar是打包后生成的jar包的名字-->
                    <entryPoint>["java", "-jar", "/${project.build.finalName}.jar"]</entryPoint>

                    <!--指定远程 docker api地址-->
                    <dockerHost>http://192.168.29.133: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>

ok接下来只要先点击clean清除之前的所有打包的文件然后再点击package打包文件即可完成镜像的构建真正的一键部署

在这里插入图片描述

在这里插入图片描述

到此镜像构建成功接下来只要创建容器跑起来即可

在这里插入图片描述

在这里插入图片描述

通过ip访问

在这里插入图片描述

至此一键构建部署springboot项目成功!

可能的错误:

“java.lang.NoClassDefFoundError:javax / activation / DataSource”(tomcat 9.0.12)“

网上查了一下发现这样的一段话具体看这里

在这里插入图片描述

刚好我想起来这个项目之前开发用的是jdk8然后我现在用的jdk11所以在构建的时候会出现这个问题我感觉应该是这个问题导致虽然构建成功了运行访问都没有问题建议开发跟构建docker的时候jdk版本保持一致。


相关文章

猜您喜欢

  • Vue实现模糊查询 Vue实现模糊查询的简单方法实例

    想了解Vue实现模糊查询的简单方法实例的相关内容吗@怎扰在本文为您仔细讲解Vue实现模糊查询的相关知识和一些Code实例欢迎阅读和指正我们先划重点:vue前端实现模糊查询,vue实现模糊搜索功能,vue搜索框模糊查询下面大家一起来学习吧。..
  • Java 大文件分片上传 Java实现浏览器端大文件分片上传

    想了解Java实现浏览器端大文件分片上传的相关内容吗Fourwen在本文为您仔细讲解Java 大文件分片上传的相关知识和一些Code实例欢迎阅读和指正我们先划重点:Java,大文件分片上传,Java,浏览器大文件上传下面大家一起来学习吧。..

网友评论

Copyright 2020 www.Shellfishsoft.com 【贝软下载站】 版权所有 软件发布

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 点此查看联系方式