• WSL2+Docker部署RabbitMQ以及在Asp.net core 中使用RabbitMQ示例(1)


            本文主要在于最近因疫情不能外出,在家研究的一些技术积累。

            主要用到的技术以及知识点:

    1.  WSL 2
    2. WSL 2+Docker
    3. Docker+RabbitMQ
    4. 在ASP.NET Core中使用RabbitMQ消息队列

       一、WSL 2

            1.什么是WSL 2?

                     WSL 2就是 适用于Linux的Windows子系统的第二代版本,全称 Windows Subsystem for Linux 2。

            2.为什么要使用WSL2?

                     其实这里使用WSL2目的,纯碎是为了用Docker。以前微软实现的WSL有些LInux软件并不能完全兼容,比如Docker。WSL 2是基于Hyper-v虚拟化技术构建的和WSL 有本质上的区别。

            3.启用WSL 2

            WSL2 需要 Windows 10 版本18917或更高版本,当前可以在设置->更新和安全->Windows预览体验计划,选择慢速通道来获得Windows 10 新版本,目前版本号是19041。该版本应该会在今年4月份正式推送更新。启用过程参考微软官方文档:https://docs.microsoft.com/zh-cn/windows/wsl/wsl2-install

          二、WSL 2+Docker

           1.启用WSL2,还需从Windows商店获取一个Linux 发行版,我安装的是Ubuntu-18.04,如下图:

                 

               然后在PowerShell中执行 wsl --set-version Ubuntu-18.04 2  命令,让Ubuntu基于WSL2。目前默认的是 WSL。如果要让因为安装的发行版默认都基于WSL2,可使用下面的命令:

                wsl --set-default-version 2

         2.安装Docker

                因为使用的是Windows系统,所有从Docker官网下载  Docker Desktop for Windows,地址:https://hub.docker.com/editions/community/docker-ce-desktop-windows 如下图:

               

               安装完后,如何将WSL2和Docker Desktop关联起来呢?打开docker desktop 设置界面,如下图:

                     

               

             通过上图的配置,其实是Docker desktop 将Docker 安装在 Ununtu 上了。可以通过下图验证:

               

             可以看到,我在 Ubuntu中 运行docker version 命令,可以看到docker的信息。其实我并没有直接在Ubuntu中进行安装。

        三、Docker+RabbitMQ

              1、配置Docker镜像加速

              其实就是在Docker中拉取和运行RabbitMQ,在部署之前,我们需要先配置docker的镜像加速,否则从国内网络环境拉取Docker官方的镜像会相当的慢。

              还是打开docker desktop 设置界面,如下图:

            

           设置完后,Docker会自动重启,我这里配置的是阿里云的镜像加速,其实有百度一下,有很多镜像加速地址。

            2、拉取RabbitMQ镜像

               在cmd或PowerShell中运行 docker pull  rabbitmq: 3.8.2-management ,如下图:

              

             可以看到,配置了镜像加速后,rabbitmq镜像很快就拉取到本地了,我这里拉取的是 3.8.2版本带管理界面的。

              运行docker images 查看镜像:

                 

            3、从RabbitMQ镜像启动容器

            在这里,我们需要先切换到Ubuntu命令行,运行 cd /home/alvinsu 命令,进入该路径下,因为wsl 2子系统,默认是在 mnt/c/user/alvinsu 目录下,我第一次在该目录下启动Rabbitmq容器是失败的。

             切换好路径后,运行下面的命令启动容器:

                docker run -d --name my_rabbitmq -p 5672:5672 -p 15672:15672 -v `pwd`/data:/var/lib/rabbitmq --hostname myRabbit -e RABBITMQ_DEFAULT_VHOST=my_vhost  -e RABBITMQ_DEFAULT_USER=              < 你的用户名> -e RABBITMQ_DEFAULT_PASS=<你的密码> a64a4ae7bc1f

                运行完后,我们运行,docker ps 命令查看容器是否正常运行:

              

              我们登陆 http://localhost:15672/ 可以看到下面的登陆界面,然后输入用户名和密码:

              

         

              ------未完待续。。。

       

        

            

            

              

       

           

           

             

  • 相关阅读:
    ios正在使用NSDateComponents、NSDate、NSCalendar它的结论是在当前时间是在一段时间在一天。
    linux 核心学习书籍
    Hbase在的应用经验的统计
    09-使用for循环输出空心菱形(循环)
    [置顶] Android下实现自动关机的方法总结
    S3C3440看门狗驱动程序
    MySQL里求给定的时间是所在月份的第几个礼拜
    CheckBox in ListView
    根据复选框后面的描述文字进行选择的技巧
    C#中一些易混知识的比较
  • 原文地址:https://www.cnblogs.com/suxinlcq/p/12317787.html
Copyright © 2020-2023  润新知