IDEA 部署服务到 Docker 容器

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

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

    sh 复制代码
    [tobbco@localhost ~]$ sudo vim /usr/lib/systemd/system/docker.service

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

    bash 复制代码
    [tobbco@localhost ~]$ ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock -H tcp://0.0.0.0:2375

    重新加载配置

    sh 复制代码
    [tobbco@localhost ~]$ sudo systemctl daemon-reload

    重新启动Docker

    sh 复制代码
    [tobbco@localhost ~]$ sudo systemctl restart docker

    查看配置是否生效

    sh 复制代码
    [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

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

  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,则多试几次。

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

    Dockerfile文件内容

    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"]

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

    xml 复制代码
    <!--该插件主要用途:构建Docker镜像 -->
    <plugin>
        <groupId>com.spotify</groupId>
        <artifactId>docker-maven-plugin</artifactId>
        <version>1.0.0</version>
        <executions>
            <execution>
                <id>build-image</id>
                <phase>package</phase>
                <goals>
                    <goal>build</goal>
                </goals>
            </execution>
        </executions>
    </plugin>

    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,为项目启动日志。

相关推荐
ai产品老杨7 小时前
解耦异构算力:基于 Docker 与边缘计算的企业级 AI 视频管理平台架构演进(支持 GB28181/RTSP 与源码交付)
人工智能·docker·边缘计算
迹象Kimizhou_blog10 小时前
国内 IntelliJ IDEA 集成Claude code,调用deepSeek模型实现agent
java·ide·intellij-idea·deepseek·claude code
身如柳絮随风扬11 小时前
Docker 部署 MongoDB:从零搭建到生产环境配置详解
mongodb·docker·容器
亚空间仓鼠12 小时前
Docker容器化高可用架构部署方案(十五)
android·redis·docker·架构·sentinel
JP-Destiny13 小时前
linux-安装Ubuntu的docker
linux·ubuntu·docker
Brookty13 小时前
lntelliJ IDEA使用技巧
java·开发语言·intellij-idea·java入门
公孙秋13 小时前
IDEA MyBatisCodeHelper Pro插件高版本解密
java·ide·intellij-idea
AI@独行侠13 小时前
【超详细】IDEA 2025版-常用设置配置-一篇文章带您解决idea 2025版本常用配置
java·ide·intellij-idea
Kingairy14 小时前
Docker环境安装
运维·docker·容器
木雷坞15 小时前
Immich Docker Compose 升级后相册索引卡住排查:GHCR 镜像、数据库和存储权限
人工智能·docker·immich