IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> IDEA Docker插件远程连接Docker,并打包部署启动SpringBoot项目 -> 正文阅读

[Java知识库]IDEA Docker插件远程连接Docker,并打包部署启动SpringBoot项目

一、开发前准备

  1. Docker安装

可以参考:https://ximeneschen.blog.csdn.net/article/details/104923157

  1. 配置docker远程连接端口
vim /usr/lib/systemd/system/docker.service

找到 ExecStart,在最后面添加 -H tcp://0.0.0.0:2399,如下图所示

在这里插入图片描述
关于更加安全开启docker远程访问,启动CA认证,参考这篇文章

  1. 重启docker
systemctl daemon-reload  
systemctl restart docker  
  1. 开放端口

如果已经关闭防火墙,则忽略这一步。

firewall-cmd --zone=public --add-port=2399/tcp --permanent  
  1. Idea安装插件,重启
    在这里插入图片描述
  2. 连接远程docker
  1. 编辑配置
  2. 填远程docker地址
  3. 连接成功,会列出远程docker容器和镜像

在这里插入图片描述
连接成功,会列出远程docker容器和镜像

在这里插入图片描述

二、IDEA的Docker插件实战

  1. Docker Image方式

Docker Image的方式主要是方便IDEA操作远程服务器上docker镜像,监控容器信息。

  • 新建连接

点击idea的设置选项(file --> setting -> docker),新建连接

在这里插入图片描述
在这里插入图片描述

  • 使用服务器(虚拟机)上的docker
    在这里插入图片描述
  • 容器的操作
    在这里插入图片描述

可以看到有启动容器,查看容器日志等等操作

  • 镜像的操作

可以拉取镜像
在这里插入图片描述

已存在的镜像有以下操作
在这里插入图片描述

  • 拉取镜像

这里要注意,在写docker镜像地址的时候,增加镜像的名称,后面一定是跟镜像的版本号,如果是那个码,idea是识别不了的,会默认为是lastest

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

有时候会出现拉取的时间超时的情况,可以配置一下国内的镜像获取阿里云的加速器

在这里插入图片描述

  • 容器的创建与运行

创建并且运行docker容器
在这里插入图片描述

在这里插入图片描述
新的idea版本需要在这里加参数:

在这里插入图片描述
创建成功之后可以看到新创建的容器,也可以在服务器(虚拟机)上用docker命令查看
在这里插入图片描述
重启容器、停止容器和删除容器等操作

在这里插入图片描述

  • 总的说就是,Docker Image这个插件就是将服务器上几乎所有需要命令行的语句给我们进行了可视化的简化
  1. 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.port=8085
  • 在工程的pom.xml文件所在目录下,创建名为Dockerfile的文件
    在这里插入图片描述
    内容如下:
# 基础镜像,使用alpine操作系统,openjkd使用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配置详情如下图所示,请按照图中的说明进行设置,确保每个红框中都会执行到

在这里插入图片描述

  • 上图中最下面的那个"Run Maven Goal"点击后,会弹出一个小窗口 ,用来输入要执行的maven命令,这里输入clean package,表示每次在构建镜像之前,都会将当前工程清理掉并且重新编译构建

  • 设置完成后,点击下图红框中的绿色三角按钮,执行此配置

在这里插入图片描述

  • 运行结果如下所示,项目构建成功后,在Docker上部署镜像成功,然后运行容器成功

在这里插入图片描述

如果docker控制台有乱码,解决方法参考这篇文章

  • 在浏览器上访问地址:http://192.168.3.250/hello,得到响应如下图所示,可见应用在容器中正常运行

在这里插入图片描述

  • 修改源代码再次发布镜像就可以看到修改的结果了
  1. Docker-Compose方式

关于Docker-compose的介绍,参考这篇文章,主要功能就是:让远程Docker按照指定的docker-compose.yml编排运行容器

参考这篇文章

参考文章
参考文章
参考文章

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-09-13 10:59:34  更:2022-09-13 11:03:59 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 12:54:22-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码