IDEA Docker插件远程连接Docker,并打包部署启动SpringBoot项目

06-01 1197阅读

文章目录

  • 一、前置准备
  • 二、Docker 服务端配置
    • 1. 配置 Docker 远程连接端口
    • 三、Idea 客户端连接 Docker
      • 1. 安装插件并重启 Idea
      • 2. 连接远程 Docker
      • 四、使用 Idea 的 Docker 插件操作镜像和容器,并完成一键发布
        • 1. Docker Image 方式
          • - 新建连接
          • - 使用服务器上的 Docker
          • - 容器操作
          • - 镜像操作
          • - 镜像拉取
          • - 容器创建与运行
          • 2. Dockerfile 方式
            • - 准备测试项目
            • - 创建 Dockerfile
            • - 创建 Dockerfile 配置
            • - 运行结果
            • 3. Docker-Compose 方式

              一、前置准备

              要开始使用 Docker,请参考以下入门指南:Docker 入门

              二、Docker 服务端配置

              1. 配置 Docker 远程连接端口

              首先,新建或修改 /etc/systemd/system/docker.service.d/override.conf 文件,确保其内容如下:

              ## Add this to the file for the docker daemon to use different ExecStart parameters (more things can be added here)
              [Service]
              ExecStart=
              ExecStart=/usr/bin/dockerd
              

              接着,在 /etc/docker/daemon.json 文件中(如果没有则新建),添加以下内容。请使用您自己的镜像地址,不必强制使用示例中的地址:

              {
                "registry-mirrors": ["https://2v6jvius.mirror.aliyuncs.com"],
                "hosts": [
                  "unix:///var/run/docker.sock",
                  "tcp://0.0.0.0:2375"
                ]
              }
              

              然后重启 Docker 服务:

              systemctl daemon-reload
              systemctl restart docker
              

              通过以下命令检查端口是否成功开放:

              ss -tuln | grep 2375
              

              如果看到类似以下的输出,说明端口开放成功:

              tcp6       0      0 :::2375                 :::*                    LISTEN      8511/dockerd
              

              💡 注意:请务必在腾讯云控制台中开放 2375 端口,同时务必限制访问来源。等到添加了证书后再完全开放。如果不清楚这点,建议暂停后续操作,特别是如果是在阿里云公网机器上,容易受到攻击。

              接下来,输入以下命令以确认 Docker 端口暴露成功:

              docker -H 121.204.196.203 ps
              

              若能显示 Docker 的基本信息,说明端口暴露成功。关于更安全地开启 Docker 远程访问,请参考 CA 认证的配置。链接: docker安全连接

              三、Idea 客户端连接 Docker

              1. 安装插件并重启 Idea

              在 IDEA 中安装 Docker 插件,并重启 IDE:

              IDEA Docker插件远程连接Docker,并打包部署启动SpringBoot项目

              2. 连接远程 Docker

              1. 编辑配置
              2. 填入远程 Docker 地址
              3. 连接成功后,会列出远程 Docker 容器和镜像

              IDEA Docker插件远程连接Docker,并打包部署启动SpringBoot项目

              成功连接后,可以看到远程 Docker 的容器和镜像:

              IDEA Docker插件远程连接Docker,并打包部署启动SpringBoot项目

              为了确保安全,需要进行认证配置,详情请参考:链接: docker安全连接

              四、使用 Idea 的 Docker 插件操作镜像和容器,并完成一键发布

              1. Docker Image 方式

              Docker Image 方式主要用于在 IDEA 中操作远程服务器上的 Docker 镜像和监控容器信息。

              - 新建连接

              在 IDEA 的设置中(File -> Settings -> Docker),新建连接:

              IDEA Docker插件远程连接Docker,并打包部署启动SpringBoot项目

              IDEA Docker插件远程连接Docker,并打包部署启动SpringBoot项目

              IDEA Docker插件远程连接Docker,并打包部署启动SpringBoot项目

              - 使用服务器上的 Docker

              IDEA Docker插件远程连接Docker,并打包部署启动SpringBoot项目

              - 容器操作

              在 IDEA 中可以进行容器的各种操作:

              IDEA Docker插件远程连接Docker,并打包部署启动SpringBoot项目

              - 镜像操作

              拉取镜像:

              IDEA Docker插件远程连接Docker,并打包部署启动SpringBoot项目

              对已有镜像的操作:

              IDEA Docker插件远程连接Docker,并打包部署启动SpringBoot项目

              - 镜像拉取

              注意,写 Docker 镜像地址时,需要在镜像名称后面指定版本号。如果不指定,IDEA 会默认使用 latest:

              IDEA Docker插件远程连接Docker,并打包部署启动SpringBoot项目

              IDEA Docker插件远程连接Docker,并打包部署启动SpringBoot项目

              IDEA Docker插件远程连接Docker,并打包部署启动SpringBoot项目IDEA Docker插件远程连接Docker,并打包部署启动SpringBoot项目

              如遇到拉取超时的情况,可以配置国内镜像源,如阿里云的加速器:

              IDEA Docker插件远程连接Docker,并打包部署启动SpringBoot项目

              - 容器创建与运行

              创建并运行 Docker 容器:

              IDEA Docker插件远程连接Docker,并打包部署启动SpringBoot项目

              IDEA Docker插件远程连接Docker,并打包部署启动SpringBoot项目

              新的 IDEA 版本可能需要额外的参数配置:

              IDEA Docker插件远程连接Docker,并打包部署启动SpringBoot项目

              创建成功后,可以在服务器上查看新创建的容器:

              IDEA Docker插件远程连接Docker,并打包部署启动SpringBoot项目

              进行容器的重启、停止和删除等操作:

              IDEA Docker插件远程连接Docker,并打包部署启动SpringBoot项目

              总的来说,Docker Image 插件将服务器上的命令行操作可视化,简化了操作过程。

              2. Dockerfile 方式

              有关 Dockerfile 的介绍,请参考这篇文章:Dockerfile 介绍

              - 准备测试项目

              创建一个测试项目:

              IDEA Docker插件远程连接Docker,并打包部署启动SpringBoot项目

              @Controller
              public class HelloController {
                  @GetMapping("hello")
                  @ResponseBody
                  public String hello() {
                      return "hello world" + new SimpleDateFormat(" [yyyy-mm-dd  HH:mm:ss]").format(new Date());
                  }
              }
              
              server.port=8085
              

              - 创建 Dockerfile

              在工程的 pom.xml 文件所在目录下创建名为 Dockerfile 的文件,内容如下:

              IDEA Docker插件远程连接Docker,并打包部署启动SpringBoot项目

              # 基础镜像,使用 Alpine 操作系统,OpenJDK 8u201
              FROM java:openjdk-8-jdk-alpine
              # 作者
              MAINTAINER Ximenes 
              # 系统编码
              ENV LANG=C.UTF-8 LC_ALL=C.UTF-8
              # 声明一个挂载点,容器内此路径会对应宿主机的某个文件夹
              VOLUME /tmp
              # 应用构建成功后的 jar 文件被复制到镜像内,名字也改成了 app.jar
              ADD target/*.jar app.jar
              # 设置 Alpine 系统时区
              ENV TZ=Asia/Shanghai
              RUN ln -snf /usr/share/zoneinfo/${TZ} /etc/localtime && echo ${TZ
              } > /etc/timezone
              # 暴露端口
              EXPOSE 8085
              # 启动容器时的进程
              ENTRYPOINT [ "java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/app.jar" ]
              

              - 创建 Dockerfile 配置

              如图所示,创建一个 Dockerfile 配置:

              IDEA Docker插件远程连接Docker,并打包部署启动SpringBoot项目

              根据下图中的说明进行设置,确保每个步骤都被执行:

              IDEA Docker插件远程连接Docker,并打包部署启动SpringBoot项目

              在"Run Maven Goal"中输入 clean package,表示每次构建镜像之前都会清理并重新编译构建:

              IDEA Docker插件远程连接Docker,并打包部署启动SpringBoot项目

              - 运行结果

              成功构建并部署镜像后,可以在 Docker 上运行容器:

              IDEA Docker插件远程连接Docker,并打包部署启动SpringBoot项目

              在浏览器访问地址 http://192.168.3.250/hello,可以看到应用在容器中正常运行:

              IDEA Docker插件远程连接Docker,并打包部署启动SpringBoot项目

              修改源代码并再次发布镜像即可看到修改后的结果。

              3. Docker-Compose 方式

              关于 Docker-Compose 的介绍,请参考这篇文章:Docker-Compose 介绍。主要功能是:通过 docker-compose.yml 文件编排运行容器。

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们。

目录[+]

取消
微信二维码
微信二维码
支付宝二维码