当前位置: 首页 > article >正文

Docker容器部署

Docker容器部署

  • 为什么使用Docker
  • 什么是Docker
    • 类比
    • 用途
  • Docker基于Windows集成IDEA
    • 在window上安装docker
    • 设置Docker配置
    • IDEA连接Docker测试
    • 启动SpringBoot应用测试
  • Docker基于Linux集成IDEA
  • 连接宿主机redis服务
  • 连接Docker中redis服务

为什么使用Docker

在和前端联调的过程中,每次使用IDEA将服务启动后不能改动,否则前端会报错。Docker则可以保证给前端提供联调服务的同时,还可以正常工作。

什么是Docker

Docker的三个基本概念

  1. Dockerfile:镜像构建的模板,描述镜像构建的步骤,通常是拉去一些文件和依赖。
  2. image:镜像,一个文件,用来创建容器。
  3. container:容器,一个可运行的镜像实例,里面运行着一个完整的系统,该系统可提供的服务和你当前操作系统可以做的事情相同。

类比

  1. Dockerfile:混凝土配比说明书(原材料、步骤等)。
  2. image(镜像):根据该说明书搅拌出混凝土。
  3. container(容器):基于混凝土可以做成一个一个房间。

用途

  1. 编写本地代码
  2. 使用Docker将程序推送到测试环境
  3. 发现bug后在开发环境下修复,重新部署到测试环境测试
  4. 测试完成将代码合并到发布的代码分支

Docker基于Windows集成IDEA

在window上安装docker

注意一点:一定要把windows的WSL开启后再安装,否则会导致docker启动不成功。

设置Docker配置

开放2375端口

IDEA连接Docker测试

老版本IDEA需要安装docker的插件,新版本的话不用安装直接使用。

连接Docker测试

注意:如果是本地的应用,可以使用‘tcp://localhost:2375’连接;如果是局域网的其他机器可以使用局域网ipv4连接;如果是远程机器的话使用公网ip连接。

启动SpringBoot应用测试

  1. 构建测试项目
  2. 在项目中添加Dockerfile文件
  3. 添加maven的Docker打包插件
  4. 打包该应用程序
  5. 配置Docker,此处配置要和pom文件最终生成的名字tag要保持一致
  6. 部署项目后使用localhost:8080/get/hello访问返回数据即为成功
  7. Docker控制台中文乱码修复[可选]

Docker基于Linux集成IDEA

连接宿主机redis服务

连接Docker中redis服务

  1. 获取redis的密码
  2. 使用命令连接容器(docker exec -it containerName /bin/bash)
  3. 使用命令连接redis客户端(redis-cli)
  4. 使用auth {password} 授权成功,可以操作
  5. 在对spring-boot项目中修改配置之前,我们找到docker中redis在宿主机的端口号,这样我们才能保证连接成功
  6. 修改项目中的配置

参考资料:IDEA集成Docker实现一键部署


http://www.kler.cn/a/13451.html

相关文章:

  • 微信为什么使用 SQLite 保存聊天记录
  • Java线程基础知识
  • Hive msck 描述
  • matlab数据归一化与反归一化处理
  • 信息安全复习四:置换密码乘积密码隐写术
  • Baumer工业相机中偏振相机如何使用Baumer堡盟GAPI SDK来进行偏振数据的计算转换输出(C#)
  • 【NestJs】数据库重构
  • 德赛西威上海车展重磅发布Smart Solution 2.0,有哪些革新点?
  • 2023年全国最新高校辅导员精选真题及答案60
  • 外链是什么意思,什么是外链
  • educoder实训——函数【1】
  • 应用程序性能监控系统(APM) :SkyWalking 简介
  • AI智能课程第一讲:chatgpt介绍
  • 快手社招Java后端开发岗面试,被问麻了
  • Python 机器人学习手册:6~10
  • 2023的指纹浏览器盘点,指纹浏览器使用全攻略
  • 告别StringUtil:使用Java的全新String API优化你的代码
  • python并行运算
  • Locust 压力测试helloworld
  • 从promise到await