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

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

  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/ 可以看到下面的登陆界面,然后输入用户名和密码:

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

WSL2+Docker部署RabbitMQ以及在Asp.net core 中使用RabbitMQ示例(1)的更多相关文章

  1. ASP.NET Core消息队列RabbitMQ基础入门实战演练

    一.课程介绍 人生苦短,我用.NET Core!消息队列RabbitMQ大家相比都不陌生,本次分享课程阿笨将给大家分享一下在一般项目中99%都会用到的消息队列MQ的一个实战业务运用场景.本次分享课程不 ...

  2. 在ASP.NET Core中构建路由的5种方法

    原文链接 :https://stormpath.com/blog/routing-in-asp-net-core 在ASP.NET Core中构建路由的5种方法 原文链接 :https://storm ...

  3. C#调用接口注意要点 socket,模拟服务器、客户端通信 在ASP.NET Core中构建路由的5种方法

    C#调用接口注意要点   在用C#调用接口的时候,遇到需要通过调用登录接口才能调用其他的接口,因为在其他的接口需要在登录的状态下保存Cookie值才能有权限调用, 所以首先需要通过调用登录接口来保存c ...

  4. Api网关Kong集成Consul做服务发现及在Asp.Net Core中的使用

    写在前面   Api网关我们之前是用 .netcore写的 Ocelot的,使用后并没有完全达到我们的预期,花了些时间了解后觉得kong可能是个更合适的选择. 简单说下kong对比ocelot打动我的 ...

  5. 在ASP.NET Core中使用百度在线编辑器UEditor

    在ASP.NET Core中使用百度在线编辑器UEditor 0x00 起因 最近需要一个在线编辑器,之前听人说过百度的UEditor不错,去官网下了一个.不过服务端只有ASP.NET版的,如果是为了 ...

  6. 在ASP.NET Core中使用Angular2,以及与Angular2的Token base身份认证

    注:下载本文提到的完整代码示例请访问:How to authorization Angular 2 app with asp.net core web api 在ASP.NET Core中使用Angu ...

  7. 如何在ASP.NET Core中实现一个基础的身份认证

    注:本文提到的代码示例下载地址> How to achieve a basic authorization in ASP.NET Core 如何在ASP.NET Core中实现一个基础的身份认证 ...

  8. [转]如何在ASP.NET Core中实现一个基础的身份认证

    本文转自:http://www.cnblogs.com/onecodeonescript/p/6015512.html 注:本文提到的代码示例下载地址> How to achieve a bas ...

  9. ASP.NET Core 中文文档

    ASP.NET Core 中文文档 翻译计划 五月中旬 .NET Core RC2 如期发布,我们遂决定翻译 ASP.NET Core 文档.我们在 何镇汐先生. 悲梦先生. 张仁建先生和 雷欧纳德先 ...

随机推荐

  1. 利用Python进行数据分析学习记录(一)

    1.Python的科学计算邮件列表 pydata:这是一个Google Group邮件列表,其中的问题都是Python数据分析和pandas方面的. pystatsmodels:针对Numpy相关的问 ...

  2. 初级程序员如何一分钟?解决一个BUG

    博主说明 -- 重要.重要.重要的事情说三遍 写这篇文章是主要锻炼写博客的能力以及记录自己的成长经历,要是写的不对欢迎大佬评论指正,同时希望对大家有所帮助.然后我写博客尽量简洁+图片+宏观的方式,便于 ...

  3. HTML 图片(image) 左右滑动

    1.需求 需要用简单动画的形式将一组图片进行展示,图片数量不固定 2.效果如下: 3.思路 说到动画,首先想到使用-webkit-transition:;因为这个最简单好用,首先将图片都放在左侧,然后 ...

  4. mongodb学习(一)——简介和基本操作

    简介 MongoDB 是一个基于分布式文件存储的数据库 属于NoSQL数据库,是介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的 旨在为WEB应用提供可扩展的高性 ...

  5. vue超简单加载字体方法,解决scss难加载字体的问题

    vue超简单加载字体方法,解决scss难加载字体的问题 scss在加载字体方面一直不太好用,需要繁杂的配置才能达到想要的效果,这里说一种非常简单的方法 在App.vue的style标签下引入字体文件后 ...

  6. APICloud开发者进阶之路 |纯手工编写日程表功能

    本文出自APICloud官方论坛, 感谢论坛版主 赵永亮 的分享. 最近看论坛内关于极光推送的问题有很多, 本想写一个关于极光的详细教程的,无奈已经有很多大牛分享过了,所以只得纯手工写了一个日程表,可 ...

  7. spark和strom优劣分析

    对于Storm来说:1.建议在那种需要纯实时,不能忍受1秒以上延迟的场景下使用,比如实时金融系统,要求纯实时进行金融交易和分析2.此外,如果对于实时计算的功能中,要求可靠的事务机制和可靠性机制,即数据 ...

  8. 前端.解决form-contral总是换行问题

    form-control 总是会换行,后面加单位的时候很难看,如下图. <div class="col-sm-3"> <input id="invest ...

  9. LeetCode动画 | 1038. 从二叉搜索树到更大和树

    今天分享一个LeetCode题,题号是1038,标题是:从二分搜索树到更大和数. 题目描述 给出二叉搜索树的根节点,该二叉树的节点值各不相同,修改二叉树,使每个节点 node 的新值等于原树中大于或等 ...

  10. [bzoj4444] [loj#2007] [洛谷P4155] [Scoi2015] 国旗计划

    Description \(A\) 国正在开展一项伟大的计划--国旗计划.这项计划的内容是边防战士手举国旗环绕边境线奔袭一圈.这项计划需要多名边防战士以接力的形式共同完成,为此,国土安全局已经挑选了 ...