IDEA Docker插件远程连接Docker,并打包部署启动SpringBoot项目
上图中最下面的那个"Run Maven Goal"点击后,会弹出一个小窗口 ,用来输入要执行的maven命令,这里输入。Docker Image的方式主要是方便IDEA操作远程服务器上docker镜像,监控容器信息。创建成功之后可以看到新创建的容器,也可以在服务器(虚拟机)上用docker命令查看。有时候会出现拉取的时间超时的情况,可以配置一下国内的镜像获取阿里云的加速器。设置完成后,点击下图红框
一、开发前准备
- Docker安装
可以参考:https://ximeneschen.blog.csdn.net/article/details/104923157
- 配置docker远程连接端口
vim /usr/lib/systemd/system/docker.service
找到 ExecStart,在最后面添加 -H tcp://0.0.0.0:2399,如下图所示
关于更加安全开启docker远程访问,启动CA认证,参考这篇文章
- 重启docker
systemctl daemon-reload
systemctl restart docker
- 开放端口
如果已经关闭防火墙,则忽略这一步。
firewall-cmd --zone=public --add-port=2399/tcp --permanent
- Idea安装插件,重启
- 连接远程docker
- 编辑配置
- 填远程docker地址
- 连接成功,会列出远程docker容器和镜像
连接成功,会列出远程docker容器和镜像
二、IDEA的Docker插件实战
- Docker Image方式
Docker Image的方式主要是方便IDEA操作远程服务器上docker镜像,监控容器信息。
- 新建连接
点击idea的设置选项(file --> setting -> docker),新建连接
- 使用服务器(虚拟机)上的docker
- 容器的操作
可以看到有启动容器,查看容器日志等等操作
- 镜像的操作
可以拉取镜像
已存在的镜像有以下操作
- 拉取镜像
这里要注意,在写docker镜像地址的时候,增加镜像的名称,后面一定是跟镜像的版本号,如果是那个码,idea是识别不了的,会默认为是lastest
有时候会出现拉取的时间超时的情况,可以配置一下国内的镜像获取阿里云的加速器
- 容器的创建与运行
创建并且运行docker容器
新的idea版本需要在这里加参数:
创建成功之后可以看到新创建的容器,也可以在服务器(虚拟机)上用docker命令查看
重启容器、停止容器和删除容器等操作
- 总的说就是,
Docker Image这个插件就是将服务器上几乎所有需要命令行的语句给我们进行了可视化的简化
- 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,得到响应如下图所示,可见应用在容器中正常运行
- 修改源代码再次发布镜像就可以看到修改的结果了
- Docker-Compose方式
关于Docker-compose的介绍,参考这篇文章,主要功能就是:让远程Docker按照指定的docker-compose.yml编排运行容器
更多推荐
所有评论(0)