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

繁星-赵老师 2024-09-20 15:07:02 阅读 95

文章目录

一、前置准备二、Docker 服务端配置1. 配置 Docker 远程连接端口

三、Idea 客户端连接 Docker1. 安装插件并重启 Idea2. 连接远程 Docker

四、使用 Idea 的 Docker 插件操作镜像和容器,并完成一键发布1. Docker Image 方式- 新建连接- 使用服务器上的 Docker- 容器操作- 镜像操作- 镜像拉取- 容器创建与运行

2. Dockerfile 方式- 准备测试项目- 创建 Dockerfile- 创建 Dockerfile 配置- 运行结果

3. Docker-Compose 方式

一、前置准备

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

二、Docker 服务端配置

1. 配置 Docker 远程连接端口

首先,新建或修改 <code>/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:

安装 Docker 插件

2. 连接远程 Docker

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

连接远程 Docker

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

远程 Docker 容器和镜像

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

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

1. Docker Image 方式

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

- 新建连接

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

新建 Docker 连接

配置 Docker 连接

连接 Docker

- 使用服务器上的 Docker

使用服务器 Docker

- 容器操作

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

容器操作

- 镜像操作

拉取镜像:

拉取镜像

对已有镜像的操作:

已有镜像操作

- 镜像拉取

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

镜像地址

指定版本号

镜像配置

镜像配置

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

配置镜像加速器

- 容器创建与运行

创建并运行 Docker 容器:

创建并运行容器

运行容器

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

配置参数

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

查看新容器

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

容器操作

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

2. Dockerfile 方式

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

- 准备测试项目

创建一个测试项目:

测试项目

<code>@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 的文件,内容如下:

Dockerfile

<code># 基础镜像,使用 Alpine 操作系统,OpenJDK 8u201

FROM java:openjdk-8-jdk-alpine

# 作者

MAINTAINER Ximenes <xxxxxxxxx@gmail.com>

# 系统编码

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 配置:

创建 Dockerfile 配置

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

Dockerfile 配置详情

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

输入 Maven 命令

- 运行结果

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

构建结果

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

应用运行结果

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

3. Docker-Compose 方式

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



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。