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

使用docker快速安装开发环境

文章目录

          • 一、创建网络
          • 二、安装mysql主从
          • 三、安装nacos服务
          • 四、安装redis
          • 五、安装es
          • 六、安装ik分词器
          • 七、安装elasticsearch-head
          • 八、安装rabbitmq
          • 九、其他问题

一、创建网络
docker network create --driver bridge --subnet 192.168.0.0/16 --gateway 192.168.0.1 network
二、安装mysql主从
#拉取mysql镜像
docker pull mysql:5.7.19
#启动mysql master
docker run -m 400m -p 3306:3306 --ip 192.168.0.2 --network network --name mysql-master -e MYSQL_ROOT_PASSWORD="root" -d mysql:5.7.19
#启动mysql slave
docker run -m 400m -p 3307:3306 --ip 192.168.0.3 --network network --name mysql-slave -e MYSQL_ROOT_PASSWORD="root" -d mysql:5.7.19
  • 此处省略了部分配置,请参见我的另一篇博文《Docker安装mysql 5.7主从复制》
三、安装nacos服务
#拉取镜像
docker pull nacos/nacos-server:v2.1.1
#启动服务
docker run -d -p 8848:8848 -p 9848:9848 --name nacos --network network --ip 192.168.0.4 --env MODE=standalone --env SPRING_DATASOURCE_PLATFORM=mysql --env MYSQL_SERVICE_HOST=192.168.0.2 --env MYSQL_SERVICE_PORT=3306 --env MYSQL_SERVICE_DB_NAME=nacos --env MYSQL_SERVICE_USER=nacos --env MYSQL_SERVICE_PASSWORD=nacos nacos/nacos-server:v2.1.1

这里使用到了此前安装的mysql服务,需要在mysql上导入nacos的数据库,创建nacos账户

四、安装redis
#拉取redis最新的镜像
docker pull redis:latest
#启动服务
docker run -d --name redis -p 6379:6379 --network network --ip 192.168.0.5 redis
五、安装es
#拉取es镜像
docker pull elasticsearch:7.7.0
#启动服务
docker run --name es -d --network network --ip 192.168.0.6 -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -e "discovery.type=single-node" -p 9200:9200 -p 9300:9300 elasticsearch:7.7.0

修改配置

#需进入es容器
docker exec -it es /bin/bash

/usr/share/elasticsearch/config目录找到elasticsearch.yml文件,在后面追加以下内容

http.host: 0.0.0.0
http.cors.enabled: true
http.cors.allow-origin: "*"

保存重启镜像,后面elasticsearch-head才可以连接到es。

六、安装ik分词器
#需进入es容器
docker exec -it es /bin/bash
  1. 方法一
./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.7.0/elasticsearch-analysis-ik-7.7.0.zip

方法一经常会遇到访问不了github.com的问题,建议使用方法二

  1. 方法二
#将压缩包移动到容器中
docker cp elasticsearch-analysis-ik-7.7.0.zip es:/usr/share/elasticsearch/plugins
#进入容器
docker exec -it es /bin/bash
#进入目录
cd /usr/share/elasticsearch/plugins
#创建ik目录
mkdir ik
#解压文件到ik目录中
unzip elasticsearch-analysis-ik-7.7.0.zip ik/
#删除压缩包,注意一定要把压缩包删除!不然容器会启动不了
rm -rf elasticsearch-analysis-ik-7.7.0.zip
七、安装elasticsearch-head
#拉取镜像
docker pull mobz/elasticsearch-head:5
#启动服务
docker run -d --name es-head --network network --ip 192.168.0.7 -p 9100:9100 mobz/elasticsearch-head:5

修改配置

#进入容器
docker exec -it es-head /bin/bash

elasticsearch-head调用方式默认为 application/x-www-form-urlencoded ,创建elasticsearch索引时会报错,需要修改为application/json

# 修改elasticsearch-head容器内的vendor.js文件
cd /usr/src/app/_site
# 把 application/x-www-form-urlencoded 改成 application/json;charset=UTF-8
sed -i 's#application/x-www-form-urlencoded#application/json;charset=UTF-8#g' vendor.js

修改完,重启镜像

八、安装rabbitmq
#拉取镜像
docker pull rabbitmq
#启动服务
docker run -id --network network --ip 192.168.0.8 --name rabbitmq -p 15672:15672 -p 5672:5672 rabbitmq

修改配置

#进入容器
docker exec -it rabbitmq /bin/bash
#开启管理界面
rabbitmq-plugins enable rabbitmq_management

退出后使用宿主机的浏览器访问 localhost:15672 即可,账号密码均为:guest

九、其他问题
  1. Vmmem 进程(WSL2)消耗内存巨大
    解决办法:在用户目录下新建文件 .wslconfig,增加下面的配置,限制其内存占用:
[wsl2]
memory=6GB
swap=0
localhostForwarding=true
  • 内存设置太小也不行,镜像会被自动关闭。

相关文章:

  • Spring boot发布到k8s并加载Configmap配置文件,实现配置热更新
  • 3号截止?2022年成都市市级创业孵化基地申报认定要求、材料及时间
  • php://input、php://output 区别及用法
  • 基于Springboot+vue的箱包销售商城网站 elementui
  • SpringCloud-zuul
  • TVS 管选型与 ESD 防护设计
  • 股票量化交易系统的指标和策略有哪些?
  • nnUnet代码分析一训练
  • 节约用水也有钱?成都市2022年成都市节约用水申报奖励、条件、材料、时间及流程
  • 计算机网络——层次结构
  • [Android]Android P(9) WIFI学习笔记 - 扫描 (1)
  • java众筹网计算机毕业设计MyBatis+系统+LW文档+源码+调试部署
  • .NET BackgroundWorker
  • 中英文说明书丨SYSY NeuN抗体参数及应用实例
  • 物联网开发笔记(6)- 使用Wokwi仿真树莓派Pico实现按键操作
  • 【vuex入门系列02】mutation接收单个参数和多个参数
  • 【附node操作实例】redis简明入门系列—字符串类型
  • 〔开发系列〕一次关于小程序开发的深度总结
  • 5分钟即可掌握的前端高效利器:JavaScript 策略模式
  • Android Volley源码解析
  • GitUp, 你不可错过的秀外慧中的git工具
  • HTTP传输编码增加了传输量,只为解决这一个问题 | 实用 HTTP
  • Intervention/image 图片处理扩展包的安装和使用
  • iOS | NSProxy
  • php面试题 汇集2
  • Twitter赢在开放,三年创造奇迹
  • 安卓应用性能调试和优化经验分享
  • 从0搭建SpringBoot的HelloWorld -- Java版本
  • 湖南卫视:中国白领因网络偷菜成当代最寂寞的人?
  • 力扣(LeetCode)56
  • 悄悄地说一个bug
  • 如何借助 NoSQL 提高 JPA 应用性能
  • 如何用Ubuntu和Xen来设置Kubernetes?
  • 中国人寿如何基于容器搭建金融PaaS云平台
  • 曜石科技宣布获得千万级天使轮投资,全方面布局电竞产业链 ...
  • ​软考-高级-系统架构设计师教程(清华第2版)【第20章 系统架构设计师论文写作要点(P717~728)-思维导图】​
  • ​一文看懂数据清洗:缺失值、异常值和重复值的处理
  • (1)(1.13) SiK无线电高级配置(六)
  • (Matalb回归预测)PSO-BP粒子群算法优化BP神经网络的多维回归预测
  • (补)B+树一些思想
  • (二)【Jmeter】专栏实战项目靶场drupal部署
  • (附源码)ssm基于微信小程序的疫苗管理系统 毕业设计 092354
  • (附源码)计算机毕业设计ssm电影分享网站
  • (过滤器)Filter和(监听器)listener
  • (紀錄)[ASP.NET MVC][jQuery]-2 純手工打造屬於自己的 jQuery GridView (含完整程式碼下載)...
  • (转载)虚幻引擎3--【UnrealScript教程】章节一:20.location和rotation
  • .chm格式文件如何阅读
  • .net core 6 redis操作类
  • .NET Core 将实体类转换为 SQL(ORM 映射)
  • .net on S60 ---- Net60 1.1发布 支持VS2008以及新的特性
  • .net 托管代码与非托管代码
  • .NET4.0并行计算技术基础(1)
  • .Net调用Java编写的WebServices返回值为Null的解决方法(SoapUI工具测试有返回值)
  • @Autowired @Resource @Qualifier的区别
  • @Autowired标签与 @Resource标签 的区别