使用docker快速安装开发环境

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: 使用docker快速安装开发环境
一、创建网络
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 --restart=always -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 --restart=always -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
三、安装nacos服务
#拉取镜像
docker pull nacos/nacos-server:v2.1.1
#启动服务
docker run --restart=always -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 --restart=always -d --name redis -p 6379:6379 --network network --ip 192.168.0.5 redis
五、安装es
#拉取es镜像
docker pull elasticsearch:7.7.0
#启动服务
docker run --restart=always --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的问题,建议使用方法二

  2. 方法二

    #将压缩包移动到容器中
    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 --restart=always --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 --restart=always --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

九、安装dubbo-admin
#拉取镜像
docker pull apache/dubbo-admin
#启动服务
docker run -d --restart=always --name dubbo-admin -p 9600:8080 --ip 192.168.0.9 -e admin.registry.address=nacos://192.168.0.4:8848 -e admin.config-center=nacos://192.168.0.4:8848 -e admin.metadata-report.address=nacos://192.168.0.4:8848 --restart=always apache/dubbo-admin

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

十、安装skywalking
#拉取镜像
docker pull apache/skywalking-oap-server:8.7.0-es7
#启动服务
docker run --restart=always --name skywalking -d -p 11800:11800 -p 12800:12800 --ip 192.168.0.10 -e TZ=Asia/Shanghai -e JAVA_OPTS="-Xms128m -Xmx128m" -e SW_STORAGE=elasticsearch7 -e SW_NAMESPACE=docker-cluster -e SW_STORAGE_ES_CLUSTER_NODES=192.168.0.6:9200 apache/skywalking-oap-server:8.7.0-es7
十一、安装skywalking-ui
#拉取镜像
docker pull apache/skywalking-ui:8.7.0
#启动服务
docker run -d --restart=always --name skywalking-ui -p 19080:8080 -it -e SW_OAP_ADDRESS=http://192.168.0.10:12800 -e TZ=Asia/Shanghai -e JAVA_OPTS="-Xms64m -Xmx64m" apache/skywalking-ui:8.7.0
十二、其他问题
  1. Vmmem 进程(WSL2)消耗内存巨大
    解决办法:在用户目录下新建文件 .wslconfig,增加下面的配置,限制其内存占用:
    [wsl2]
    memory=6GB
    swap=0
    localhostForwarding=true
    
  • 内存设置太小也不行,镜像会被自动关闭。
  1. 解决docker启动时报‘Error response from daemon: network xxx not found‘问题‘
    看这一篇 https://developer.aliyun.com/article/1292397?spm=a2c6h.13262185.profile.18.1dceedc2iuBeiZ
相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
相关文章
|
4天前
|
Java 应用服务中间件 Linux
【Docker容器化技术】docker安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库
本文主要讲解了Docker的安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库以及Docker容器虚拟化与传统虚拟机比较。
【Docker容器化技术】docker安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库
|
23天前
|
关系型数据库 MySQL Linux
Docker安装Mysql5.7,解决无法访问DockerHub问题
当 Docker Hub 无法访问时,可以通过配置国内镜像加速来解决应用安装失败和镜像拉取超时的问题。本文介绍了如何在 CentOS 上一键配置国内镜像加速,并成功拉取 MySQL 5.7 镜像。
193 2
Docker安装Mysql5.7,解决无法访问DockerHub问题
|
10天前
|
Prometheus 监控 Cloud Native
基于Docker安装Grafana和Prometheus
Grafana 是一款用 Go 语言开发的开源数据可视化工具,支持数据监控和统计,并具备告警功能。通过 Docker 部署 Grafana 和 Prometheus,可实现系统数据的采集、展示和告警。默认登录用户名和密码均为 admin。配置 Prometheus 数据源后,可导入主机监控模板(ID 8919)进行数据展示。
42 2
|
12天前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
35 2
|
13天前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
24 3
|
1月前
|
监控 虚拟化 Docker
Window系统安装Docker
这篇文章提供了在Windows系统上安装与配置Docker的详细指南,包括Docker Desktop的安装及通过Docker来运行容器化应用的步骤。
91 1
Window系统安装Docker
|
1月前
|
存储 物联网 数据安全/隐私保护
Docker安装Mosquitto
这篇文章详细介绍了如何在Docker中安装和配置Mosquitto消息代理服务,包括拉取镜像、创建容器以及配置持久化存储等步骤。
53 0
Docker安装Mosquitto
|
15天前
|
关系型数据库 MySQL Linux
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
145 2
|
23天前
|
数据可视化 数据挖掘 Docker
Docker Desktop 安装 ClickHouse 超级简单教程
Docker Desktop 安装 ClickHouse 超级简单教程
38 1
|
23天前
|
Ubuntu Linux 网络安全
Docker&Docker Compose安装(离线+在线)
Docker&Docker Compose安装(离线+在线)
158 1