C#.Net Core 操作Docker中的redis数据库
做软件开发的人,会在本机安装很多开发时要用到的软件,比如数据库,有MS SQL Server,MySQL,等,如果每种数据库都按照在本机确实有点乱,这个时候我们就想用虚拟机来隔离,这样就不会扰乱本机一些配置啊环境变量啊等等。但虚机机太耗硬盘了,而且还物理隔离内存,分给它多少内存,本机就少多少内存,对于现在的笔记本电脑,大多都是固态硬盘256G,512G太昂贵了,这个时候Docker 就派上用场了,我把数据库按照Docker容器里,它是进程隔离的,干净又快捷,下面就来介绍一下,在Docker中安装redis内存数据库,并通过C#.Net Core来访问这个数据库。
我的机子是windows 10 pro版的,安装了docker for windows

测试本机docker安装情况=》打开命令行工具,输入docker -v 会显示docker安装的版本,说明正常运行了docker。
查看本机现有容器命令:docker ps
查看本机现有镜像命令:docker images
安装redis镜像命令:docker pull redis //默认从国外镜像站点DockerHub下载,如果下载太慢,可以使用国内镜像,可以访问 https://www.docker-cn.com/registry-mirror 查看如何操作,只有一条命令就可以了。
安装成功的信息:

再次使用docker images查看已有镜像

说明安装redis成功!
接下来要把这个镜像运行起来,就成了一个容器,有人把镜像比喻类,容器是类的实例,这很贴切,记住,镜像是不变的!镜像可以new() 多个容器出来。
运行镜像的命令是:docker run --name first-redis -p 6379:6379 -d redis
命令参数解释:--name firest-redis //给新建的容器命名;-p //映射端口,这样外部访问6379就能访问到容器内的6379端口了;-d redis //这个就是要指定镜像名称
运行结果,并用docker ps查看容器列表

redis数据库已经成功在docker容器中运行了,接下来我们要在数据库里创建一个键值对。
首先进入操作数据库的工具redis-cli。
命令如下:docker exec -it first-redis redis-cli

上面的命令我们利用reids-cli 设置了一个name 的值为 nick,并用 get name 获取这个值,返回“nick”,一切正常。
-------------------------------恶心的分割线-----------------------------------------------------------------------
下面我们来创建C#.Net Core 命令行项目来访问数据库
我们在D盘创建一个文件夹,用来存放我们的代码,直接用命令行操作就可以了。(Ctrl + C可以推出刚才进入redis-cli命令行)

去D盘的看看情况:

接下来,我们使用命令行命令通过VSCode工具打开项目:
命令如下:code .
注意:code 后一个空格加一个点,别丢了。这样就能启动vscode工具打开这个项目了。(会问要不要创建.vscode目录,点是)

接下来要让这个项目和docker中的redis建立关系,就需要安装一个客户端,客户端有很多,可以参考这里https://redis.io/clients#c

回到项目命令行,输入安装StackExchange.Redis的命令
命令如下:dotnet add package StackExchange.Redis

-----------------所有的准备工作都ok了,下面就是要写代码来访问了!------------------------------------------------------

回到命令行运行项目:dotnet run

一切如你所愿。
---------------------------------------------------------
参考地址:https://www.cnblogs.com/cgzl/p/10294175.html
C#.Net Core 操作Docker中的redis数据库的更多相关文章
- nopCommerce 3.9 大波浪系列 之 使用部署在Docker中的Redis缓存主从服务
一.概述 nop支持Redis作为缓存,Redis出众的性能在企业中得到了广泛的应用.Redis支持主从复制,HA,集群. 一般来说,只有一台Redis是不可行的,原因如下: 单台Redis服务器会发 ...
- 开发机直连 Docker 中的 Redis 容器小教程
在笔者日常开发中,都是把redis装在windows系统中.虽然可以通过RedisDesktopManager等客户端工具连接操作redis,但是还是觉得low了一些.因为作为程序员,我可能更想在Li ...
- C#实现多级子目录Zip压缩解压实例 NET4.6下的UTC时间转换 [译]ASP.NET Core Web API 中使用Oracle数据库和Dapper看这篇就够了 asp.Net Core免费开源分布式异常日志收集框架Exceptionless安装配置以及简单使用图文教程 asp.net core异步进行新增操作并且需要判断某些字段是否重复的三种解决方案 .NET Core开发日志
C#实现多级子目录Zip压缩解压实例 参考 https://blog.csdn.net/lki_suidongdong/article/details/20942977 重点: 实现多级子目录的压缩, ...
- 从零开始学习docker之在docker中搭建redis(集群)
docker搭建redis集群 docker-compose是以多容器的方式启动,非常适合用来启动集群 一.环境准备 云环境:CentOS 7.6 64位 二.安装docker-compose #需要 ...
- docker中使用mysql数据库详解(在局域网访问)
开发过程中经常需要安装.调试mysql数据库,还需要在各种操作系上安装包依赖,实在是繁琐,因此就研究了一下如何在docker上运行一个mysql镜像,省却了我安装.找依赖的问题. 注:本文所有内容均在 ...
- 在docker中使用mysql数据库,在局域网访问
1.获取mysql镜像 docker pull mysql:5.6 注意:此处之所以获取mysql5.6是因为mysql5.7在centos7中启动可能会报错 2.查看镜像列表 docker imag ...
- 在docker中部署redis主从配置
环境说明: 阿里云服务器 Ubuntu 16.04 docker 1.拉取Redis镜像 docker pull redis 2.配置Redis启动配置文件,此处我创建一个专用目录,存放Redis相关 ...
- docker 中安装 redis
使用以下命令在Docker Hub搜索Redis镜像docker search redis 使用以下命令拉取镜像,Redis的镜像docker pull redis:latest 使用以下命令查看,本 ...
- docker 中运行 redis 服务
先使用 dockerfile 创建一个 redis 容器 FROM ubuntu:latest RUN apt-get update RUN apt-get -y install redis-serv ...
随机推荐
- safari10.0以上版本出现默认小人头图标
1.可能改input输入框外层有兄弟元素在input之前,将input元素位置放置在所有兄弟元素之前即可
- php日志报错child exited with code 0 after seconds from start
因为日志文件老是有这种提示: [27-May-2015 15:13:48] NOTICE: [pool www] child 3998 started [27-May-2015 15:13:59] N ...
- 数据结构C语言版-队列
#include <stdlib.h> #include <stdio.h> #include <iostream> using namespace std; ty ...
- [swarthmore cs75] Compiler 3 – Cobra
课程回顾 Swarthmore学院16年开的编译系统课,总共10次大作业.本随笔记录了相关的课堂笔记以及第5次大作业. 增加了bool数据表示和比较运算符的支持,具体语法参考下图: 第一种int和bo ...
- 用pyspider爬取并解析json字符串
获取堆糖网站所有用户的id 昵称及主页地址 #!/usr/bin/env python # -*- encoding: utf-8 -*- # Created on 2016-06-21 13:57: ...
- nmap 介绍
原文地址:http://drops.wooyun.org/tips/2002 原文地址:http://infotechbits.wordpress.com/2014/05/04/introductio ...
- 玩玩微信公众号Java版之七:自定义微信分享
前面已经学会了微信网页授权,现在微信网页的功能也可以开展起来啦! 首先,我们先来学习一下分享,如何在自己的页面获取分享接口及让小伙伴来分享呢? 今天的主人公: 微信 JS-SDK, 对应官方链接为:微 ...
- shell实例利用crontab自动清除日志
shell实例利用crontab自动清除日志 程序运行会产生很多的日志,对于无用的日志手动删除比价麻烦,写一个自动执行的命令是很有必要的. 删除文件shell命令 find 对应目录 -mtime + ...
- RabbitMQ Routing 消息路由
上篇文章中,我们构建了一个简单的日志系统.接下来,我们将丰富它:能够使用不同的severity来监听不同等级的log.比如我们希望只有error的log才保存到磁盘上. 1. Bindings绑定 上 ...
- ORACLE提交事务回滚
execute执行后 可以回滚 commit提交后 闪回恢复原来的数据 其实Oracle提交数据是分两步操作的,第一步execute执行,第二步commit提交.对应的PL\SQL也是要先点execu ...