拓冰建站拓冰建站
首页 / 资讯中心 / 正文

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

文章目录* 一、前置准备* 二、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### 2. 连接远程 Docker1. 编辑配置2. 填入远程 Docker 地址3. 连接成功后会列出远程 Docker 容器和镜像成功连接后可以看到远程 Docker 的容器和镜像为了确保安全需要进行认证配置详情请参考链接: docker安全连接四、使用 Idea 的 Docker 插件操作镜像和容器并完成一键发布------------------------------------### 1. Docker Image 方式Docker Image 方式主要用于在 IDEA 中操作远程服务器上的 Docker 镜像和监控容器信息。#### - 新建连接在 IDEA 的设置中File - Settings - Docker新建连接#### - 使用服务器上的 Docker#### - 容器操作在 IDEA 中可以进行容器的各种操作#### - 镜像操作拉取镜像对已有镜像的操作#### - 镜像拉取注意写 Docker 镜像地址时需要在镜像名称后面指定版本号。如果不指定IDEA 会默认使用latest如遇到拉取超时的情况可以配置国内镜像源如阿里云的加速器#### - 容器创建与运行创建并运行 Docker 容器新的 IDEA 版本可能需要额外的参数配置创建成功后可以在服务器上查看新创建的容器进行容器的重启、停止和删除等操作 总的来说Docker Image插件将服务器上的命令行操作可视化简化了操作过程。### 2. Dockerfile 方式有关 Dockerfile 的介绍请参考这篇文章Dockerfile 介绍#### - 准备测试项目创建一个测试项目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.port8085 #### - 创建 Dockerfile在工程的pom.xml文件所在目录下创建名为Dockerfile的文件内容如下# 基础镜像使用 Alpine 操作系统OpenJDK 8u201 FROM java:openjdk-8-jdk-alpine # 作者 MAINTAINER Ximenes xxxxxxxxxgmail.com # 系统编码 ENV LANGC.UTF-8 LC_ALLC.UTF-8 # 声明一个挂载点容器内此路径会对应宿主机的某个文件夹 VOLUME /tmp # 应用构建成功后的 jar 文件被复制到镜像内名字也改成了 app.jar ADD target/*.jar app.jar # 设置 Alpine 系统时区 ENV TZAsia/Shanghai RUN ln -snf /usr/share/zoneinfo/${TZ} /etc/localtime echo ${TZ } /etc/timezone # 暴露端口 EXPOSE 8085 # 启动容器时的进程 ENTRYPOINT [ “java”, “-Djava.security.egdfile:/dev/./urandom”, “-jar”, “/app.jar” ] #### - 创建 Dockerfile 配置如图所示创建一个 Dockerfile 配置根据下图中的说明进行设置确保每个步骤都被执行在Run Maven Goal中输入clean package表示每次构建镜像之前都会清理并重新编译构建#### - 运行结果成功构建并部署镜像后可以在 Docker 上运行容器在浏览器访问地址http://192.168.3.250/hello可以看到应用在容器中正常运行修改源代码并再次发布镜像即可看到修改后的结果。### 3. Docker-Compose 方式关于 Docker-Compose 的介绍请参考这篇文章Docker-Compose 介绍。主要功能是通过 docker-compose.yml 文件编排运行容器。
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门