在基于win10.wsl2的docket桌面版中安装一些常用组件

在基于win10.wsl2的docket桌面版中安装Elasticsearch、Kibana、Nginx和Redis

学习阶段,仅供参考

安装docker

  1. 安装
    docker桌面版官网下载
    安装过程中会提示你下载并安装wsl2。

docker的提示链接:wsl2安装
应该是只要步骤4,其他什么都不用配置。

  1. 配置国内镜像地址
    如下位置添加源地址 “https://vw9qapdy.mirror.aliyuncs.com”
    在这里插入图片描述

  2. docker各种命令

docker自定义网络,用于绑定固定IP

下列内容只涉及ip,不操作不影响容器安装,ip也可以安装完容器后修改。

docker启动多个容器时,会根据启动顺序注册容器对应的ip,所以每次重新启动docker,容器ip可能会变动(当然,如果你每次启动所有容器的先后顺序一样,那容器对应的ip地址应该也是一样的)。保险起见,可以先在docker自定义网络,用于绑定固定ip。

docker network ls  //查看网络

在这里插入图片描述

docker network create --subnet=172.20.0.0/15 extnetwork  //自定义网络,网段:172.20.0.0/15,自定义名字:extnetwork

在这里插入图片描述
创建容器时利用如下命令指定ip:
--net extnetwork --ip 172.20.0.2

安装Elasticsearch

  1. 拉取镜像
    cmd或powershell下

    docker pull elasticsearch:7.4.2
    
  2. 创建容器

    docker run --name elasticsearch 
    -p 9200:9200 -p 9300:9300      //端口
    -e discovery.type=single-node   //单节点运行
    -e ES_JAVA_OPTS="-Xms64m -Xmx512m"   //设置内存
    -v D:\xxx\elasticsearch\config\elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml 
    -v D:\xxx\elasticsearch\data:/usr/share/elasticsearch/data 
    -v D:\xxx\elasticsearch\plugins:/usr/share/elasticsearch/plugins    //-v 为文件挂载,win10系统的三个文件夹请之前自行新建,没有的话理论上也会帮你新建
    --net extnetwork --ip 172.20.0.2 //指定网络和ip,172.20.0.1为网关,不可用;没有这行的话就是docker分配ip
    -d elasticsearch:7.4.2
    
  3. 配置网络
    打开自定义的D:\xxx\elasticsearch\config\elasticsearch.yml,输入network.host: 0.0.0.0(本人一开始连不上es,百度后这样解决了我的问题)

  4. 查验
    可以直接点开桌面版及容器inspect(详情)查看,或者:

    docker ps  //查找所有容器,及其id
    
    NTAINER IDIMAGE
    xxxxxxxxxelasticsearch
    docker exec -it 上述id或容器名 /bin/bash  //进入es容器根目录,成功如下:(也可以在桌面版的容器的cli进入)
    

    [root@09b0c25129c3 elasticsearch]#

    [root@09b0c25129c3 elasticsearch]# ls   //查看所有文件
    

    LICENSE.txt NOTICE.txt README.textile bin config data jdk lib logs modules plugins
    data和plugins变色表明挂载成功

    docker inspect elasticsearch //查看es容器详情、ip、以及是否挂载成功
    

    在"NetworkSettings"里面的"IPAddress": "172.20.0.2"查看ip
    在"Mounts"查看是否挂载成功

  5. 安装ik中文分词器
    链接:下载对应版本
    下载后解压ZIP,将整个文件夹放在之前的D:\xxx\elasticsearch\plugins文件中。

安装Kibana

  1. 拉取镜像
    docker pull kibana:7.4.2
    
  2. 创建容器
    docker run --name kibana 
    -e ELASTICSEARCH_HOSTS=http://172.20.0.2:9200         // 172.20.0.2为我的esip地址
    -p 5601:5601 
    --net extnetwork --ip 172.20.0.3
    -d kibana:7.4.2
    

安装Nginx

  1. 拉取镜像
    docker pull nginx:1.10
    
  2. 创建工具容器,以复制配置文件
    2.1. 创建工具容器:
    docker run --name nginx 
    -p 80:80 
    -d nginx:1.10
    
    2.2. 将nginx容器的conf.d文件夹拷贝到win10的 xxx\nginx\conf文件夹下,conf文件夹请在此之前自行新建:
    docker container cp nginx:/etc/nginx/conf.d D:\xxx\nginx\conf\ 
    
    2.3. 将nginx容器的nginx.conf文件拷贝到xxx\nginx\conf文件夹下
    docker container cp nginx:/etc/nginx/nginx.conf D:\xxx\nginx\conf\ 
    

    至于为什么不直接用命令复制nginx:/etc/nginx/下的所有文件,
    是因为我在执行docker container cp nginx:/etc/nginx/* D:\xxx\nginx\conf\ 时,
    里面的modules文件复制出现问题,因此退而求其次,只复制必要的这两个配置文件

  3. 删除刚才的nginx容器
  4. 创建真正要的Nginx容器
    docker run --name nginx
    -p 80:80  
    -v D:\xxxx\mydata\nginx\html:/usr/share/nginx/html  
    -v D:\xxxx\mydata\nginx\logs:/var/log/nginx 
    -v D:\xxxx\mydata\nginx\conf\conf.d:/etc/nginx/conf.d 
    -v D:\xxxx\mydata\nginx\conf\nginx.conf:/etc/nginx/nginx.conf 
    //win10下的html、logs文件夹请自行创建(logs应该可以不用挂载了,毕竟docker桌面版可以直接看日志)
    --net extnetwork --ip 172.20.0.4
    -d nginx:1.10
    

安装Redis

  1. 拉取镜像
    docker pull redis
    
  2. 在windows本地创建redis配置文件以方便挂载,如xxxx\mydata\redis\conf\redis.conf。
  3. 创建容器
    docker run -p 6379:6379 
    --name redis 
    -v D:\xxxx\mydata\redis\data:/data 
    -v D:\xxxx\mydata\redis\conf\redis.conf:/etc/redis/redis.conf 
    -d redis 
    redis-server /etc/redis/redis.conf        //以配置文件运行
    
  4. 持久化设置
    默认redis数据是不持久化的,在配置文件redis.conf中输入appendonly yes,就可以aof持久化了。

安装RabbitMQ

docker run -d --name rabbitmq -p 5671:5671 -p 5672:5672 -p 4369:4369 -p 25672:25672 -p 15671:15671 -p 15672:15672 rabbitmq:management
//4369,25672(Erlang发现&集群端口)
//5672,5671(AMQP端口)
//15672 (web管理后台端口)
//61613,61614(STOMP协议端口)
//1883,8883(MQTT协议端口)

参考文档:https://www.rabbitmq.com/networking.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值