• IDEA 部署服务到 Docker 容器


    1. 第一步,配置Docker启用远程tcp端口,并重新启动

      假设已经安装了Docker,编辑Docker启动服务脚本

      [tobbco@localhost ~]$ sudo vim /usr/lib/systemd/system/docker.service
      
      • 1

      ExecStart配置末尾增加-H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock,如下:

      [tobbco@localhost ~]$ ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock -H tcp://0.0.0.0:2375
      
      • 1

      重新加载配置

      [tobbco@localhost ~]$ sudo systemctl daemon-reload
      
      • 1

      重新启动Docker

      [tobbco@localhost ~]$ sudo systemctl restart docker
      
      • 1

      查看配置是否生效

      [tobbco@localhost ~]$ ps -ef | grep docker
      root      3682     1  0 11:10 ?        00:00:14 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock -H tcp://0.0.0.0:2375
      
      • 1
      • 2

      出现刚刚的配置,证明生效,反之重新执行步骤。

    2. 第二步,IDEA Docker插件安装及配置

      IDEA 安装Docker插件,Restart IDEA。

      找到IDEA Settring设置项,搜索Docker,目录在Build,Execution,Deployment下。

      一般默认有一个Docker配置,没有点击+号创建一个。

      名称随便起,例如Docker-linux

      选择TCP socket,Engine API URL:tcp://your remote server ip:2375,我这里是连接的云服务器,本地的选择第一个Docker for Windows或Mac,取决于你的系统。

      等待连接,出现Connection Successful,证明成功,如Time out,则多试几次。

      image-20231102144020031
    3. 第三部,构建Docker镜像并远程部署

      Dockerfile文件内容

      # 基础镜像
      FROM openjdk:8-jre-slim
      # 作者
      LABEL authors="tobacco"
      # 配置
      ENV PARAMS=""
      # 时区
      ENV TZ=PRC
      RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
      # 添加应用
      ADD /springboot-demo/target/springboot-demo.jar /springboot-demo.jar
      # 执行
      ENTRYPOINT ["sh","-c","java -jar $JAVA_OPTS /springboot-demo.jar $PARAMS"]
      
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13
      • 14

      pom.xml配置Docker镜像构建插件

      
      <plugin>
          <groupId>com.spotifygroupId>
          <artifactId>docker-maven-pluginartifactId>
          <version>1.0.0version>
          <executions>
              <execution>
                  <id>build-imageid>
                  <phase>packagephase>
                  <goals>
                      <goal>buildgoal>
                  goals>
              execution>
          executions>
      plugin>
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13
      • 14
      • 15

      Docker Configuration

      打开Run/Debug Configurations,点击+新建,搜索Dockerfile。

      名称设置为springboot-demo便于明确构建的镜像是什么。

      Server选择前面IDEA Docker插件配置的名称。

      Build项中Dockerfile选择之前创建的Dockerfile,Image tag 给镜像设置标签,例如springboot-demo:1.0。

      Run项中Container name:起一个容器运行的名称,最好与项目名称保持一致,便于区分,Bind ports:点击右侧文件夹配置宿主机端口和容器端口的映射,例如:8080:8080。

      点击apply应用后,点击run,只要文件没有配置错,那么没有问题。

    4. 查看镜像构建及部署日志

      回到IDEA Services视图栏(或者使用ALT+F8调出)。

      查看Docker-linux下有一个名称为springboot-demo的镜像,右侧有Build Log,构建镜像成功后,会自动发送到云服务器。

      之后查看Build Log右侧的Log,为项目启动日志。

  • 相关阅读:
    使用Mondo Rescue对CentOS7进行封装
    多节点部署zookeeper
    matlab第三方硬件支持包下载和安装
    [LeetCode]-138. 随机链表的复制
    抖音团购跟小程序团购小程序开发有什么区别?
    Vue 源码解读(8)—— 编译器 之 解析(下)
    【信号去噪】基于麻雀算法优化最小二乘法lms自适应滤波器实现语音去噪附matlab代码
    初阶数据结构 堆的问题详解 (三)
    想要精通算法和SQL的成长之路 - 分割数组的最大值
    前端搜索过滤表格数据
  • 原文地址:https://blog.csdn.net/y534560449/article/details/134313922