docker安装redis命令及运行

docker安装redis:

docker run -d -p 6379:6379 --name redis redis:latest

-d: 以 守护进程模式 运行容器,容器启动后会进入后台运行,并脱离当前命令行会话。

-p: 显示端口号。

-p 6379:6379: 将容器内部的 6379 端口映射到宿主机 6379 端口,可以直接从宿主机访问容器内部的 Redis 服务。

--name redis: 为容器指定名称为 redis。

redis:latest: 指定镜像版本,本例中使用的是官方 Redis 镜像的最新版本。

输入docker ps查看:

C:\WINDOWS\system32>docker ps
CONTAINER ID   IMAGE          COMMAND                   CREATED      STATUS         PORTS                    NAMES
9b49cbee1854   redis:latest   "docker-entrypoint.s…"   2 days ago   Up 3 minutes   0.0.0.0:6379->6379/tcp   redisC:\WINDOWS\system32>

检查docker日志,输入docker logs redis:

C:\WINDOWS\system32>docker logs redis
1:C 04 May 2024 10:16:00.691 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
1:C 04 May 2024 10:16:00.691 * oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
1:C 04 May 2024 10:16:00.692 * Redis version=7.2.4, bits=64, commit=00000000, modified=0, pid=1, just started
1:C 04 May 2024 10:16:00.692 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf
1:M 04 May 2024 10:16:00.692 * monotonic clock: POSIX clock_gettime
1:M 04 May 2024 10:16:00.693 * Running mode=standalone, port=6379.
1:M 04 May 2024 10:16:00.693 * Server initialized
1:M 04 May 2024 10:16:00.693 * Ready to accept connections tcp
1:M 04 May 2024 11:16:01.012 * 1 changes in 3600 seconds. Saving...
1:M 04 May 2024 11:16:01.013 * Background saving started by pid 28
28:C 04 May 2024 11:16:01.033 * DB saved on disk
28:C 04 May 2024 11:16:01.033 * Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB
1:M 04 May 2024 11:16:01.113 * Background saving terminated with success
1:signal-handler (1714827307) Received SIGTERM scheduling shutdown...
1:M 04 May 2024 12:55:07.346 * User requested shutdown...
1:M 04 May 2024 12:55:07.346 * Saving the final RDB snapshot before exiting.
1:C 06 May 2024 12:08:59.747 * oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
1:C 06 May 2024 12:08:59.747 * Redis version=7.2.4, bits=64, commit=00000000, modified=0, pid=1, just started
1:C 06 May 2024 12:08:59.747 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf
1:M 06 May 2024 12:08:59.748 * monotonic clock: POSIX clock_gettime
1:M 06 May 2024 12:08:59.750 * Running mode=standalone, port=6379.
1:M 06 May 2024 12:08:59.751 * Server initialized
1:M 06 May 2024 12:08:59.753 * Loading RDB produced by version 7.2.4
1:M 06 May 2024 12:08:59.753 * RDB age 170032 seconds
1:M 06 May 2024 12:08:59.753 * RDB memory usage when created 0.90 Mb
1:M 06 May 2024 12:08:59.753 * Done loading RDB, keys loaded: 1, keys expired: 0.
1:M 06 May 2024 12:08:59.753 * DB loaded from disk: 0.002 seconds
1:M 06 May 2024 12:08:59.753 * Ready to accept connections tcp
1:C 06 May 2024 12:36:43.078 * oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
1:C 06 May 2024 12:36:43.078 * Redis version=7.2.4, bits=64, commit=00000000, modified=0, pid=1, just started
1:C 06 May 2024 12:36:43.078 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf
1:M 06 May 2024 12:36:43.079 * monotonic clock: POSIX clock_gettime
1:M 06 May 2024 12:36:43.081 * Running mode=standalone, port=6379.
1:M 06 May 2024 12:36:43.082 * Server initialized
1:M 06 May 2024 12:36:43.084 * Loading RDB produced by version 7.2.4
1:M 06 May 2024 12:36:43.084 * RDB age 171696 seconds
1:M 06 May 2024 12:36:43.084 * RDB memory usage when created 0.90 Mb
1:M 06 May 2024 12:36:43.084 * Done loading RDB, keys loaded: 1, keys expired: 0.
1:M 06 May 2024 12:36:43.084 * DB loaded from disk: 0.002 seconds
1:M 06 May 2024 12:36:43.084 * Ready to accept connections tcpC:\WINDOWS\system32>

若想运行redis,直接输入redis-cli -h localhost则会出错:

C:\WINDOWS\system32>redis-cli -h localhost
'redis-cli' 不是内部或外部命令,也不是可运行的程序或批处理文件。

因为是在docker中运行的redis,本机存储中没有redis环境,故输入如下:

docker exec -it 9b49cbee1854b320cff3cdcde0dd095314ca13f433a389d5badbf8016ca98849 redis-cli

其中9b49cbee1854b320cff3cdcde0dd095314ca13f433a389d5badbf8016ca98849为reids容器container的id,也可以直接用redis容器的名称直接替换。

如果出现如下错误:

C:\WINDOWS\system32>docker exec -it 9b49cbee1854b320cff3cdcde0dd095314ca13f433a389d5badbf8016ca98849 redis-cli
Error response from daemon: container 9b49cbee1854b320cff3cdcde0dd095314ca13f433a389d5badbf8016ca98849 is not runningWhat's next?Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug 9b49cbee1854b320cff3cdcde0dd095314ca13f433a389d5badbf8016ca98849Learn more at https://docs.docker.com/go/debug-cli/C:\WINDOWS\system32>

则说明docker中的redis容器没有运行起来,在docker中运行或者输入命令:

docker run --name redis -d -p 6379:6379 redis

这里容器的名字name就是redis。不可用id代替。

重新运行docker exec,发现出现了127.0.0.1:6379>。表明成功。

用简单的redis案例来熟悉一下:

C:\WINDOWS\system32>docker exec -it 9b49cbee1854b320cff3cdcde0dd095314ca13f433a389d5badbf8016ca98849 redis-cli
127.0.0.1:6379> SET firstkey "hello world"
OK
127.0.0.1:6379> get firstkey
"hello world"
127.0.0.1:6379>

打开redis桌面可视化工具redis insight,可以看见我的键值对已经写入本地6379端口:

如果想停止Redis容器,可以在新cmd中使用以下命令:

docker stop redis

删除容器则是:

docker rm redis

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/670587.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据结构学习/复习8--树与二叉树的概念与基本性质练习

一、树 1.概念 2.树的表示 二、二叉树 1.二叉树的概念 2.与性质相关的题

数据分析从入门到精通 2.pandas修真之前戏基础

从爱上自己那天起,人生才真正开始 —— 24.5.6 为什么学习pandas numpy已经可以帮助我们进行数据的处理了,那么学习pandas的目的是什么呢? numpy能够帮助我们处理的是数值型的数据,当然在数据分析中除了数值型的数据还有好多其他类型…

JAVA学习14——异常

目录 异常: 1.异常基本介绍: 2.异常体系图: 3.五大运行时异常: (1)NullPointerException空指针异常: (2)AirthmetiException数字运算异常: &#xff0…

C++学习笔记——对仿函数的理解

文章目录 思维导图仿函数出现的逻辑仿函数使用上的巧妙 仿函数的本质仿函数的优势仿函数语法的巧妙 思维导图 仿函数出现的逻辑 我们在学习stack时会遇到一些新的问题,这些问题需要我们使用非类型模板参数去解决,即我们需要在设计类时需要有一个途径去快…

【c1】数据类型,运算符/循环,数组/指针,结构体,main参数,static/extern,typedef

文章目录 1.数据类型:编译器(compiler)与解释器(interpreter),中文里的汉字和标点符号是两个字节,不能算一个字符(单引号)2.运算符/循环:sizeof/size_t3.数组…

Pycharm debug 运行报错 (RuntimeError: cannot release un-acquired lock)

问题描述: 最近再跑一个 flask应用,Pycharm 运行没问题,debug断点启动时报错 如下: 解决方案: 在环境变量中增加 GEVENT_SUPPORTTrue 启动成功!

广义近似消息传递(GAMP-MMSE-SBL)

1、为了解决什么问题 [1]Rangan, Sundeep. "Generalized approximate message passing for estimation with random linear mixing." 2011 IEEE International Symposium on Information Theory Proceedings. IEEE, 2011. [2]Andersen, Michael Riis. "Sparse…

【3D基础】坐标转换——地理坐标投影到平面

汤国安GIS原理第二章重点 1.常见投影方式 https://download.csdn.net/blog/column/9283203/83387473 Web Mercator投影(Web Mercator Projection): 优点: 在 Web 地图中广泛使用,易于显示并与在线地图服务集成。在较…

RS2057XH功能和参数介绍及规格书

RS2057XH 是一款由润石科技(Runic Semiconductor)生产的模拟开关芯片,其主要功能和参数如下: 产品特点: 低电压操作:支持低至1.8V的工作电压,适用于低功耗应用。 高带宽:具有300MHz的…

linux学习:线程池

目录 原理 初始线程池 运行中的线程池 相关结构体 api 线程池初始化 投送任务 增加活跃线程 删除活跃线程 销毁线程池 例子 thread_pool.h thread_pool.c test.c 测试程序 原理 一个进程中的线程就好比是一家公司里的员工,员工的数目应该根据公司的…

展厅设计中的时光隧道装置是什么?有何独特应用优势?

在当今多媒体互动技术蓬勃发展的时代,各类创新的内容呈现手段层出不穷。其中,时光隧道互动装置以其独特的方式,极大地丰富了内容的表达并提升了用户体验,它能够将参观者引领至一个多维度的感官世界,让其身临其境地感受…

超详细——集成学习——Adaboost——笔记

资料参考 1.【集成学习】boosting与bagging_哔哩哔哩_bilibili 集成学习——boosting与bagging 强学习器:效果好,模型复杂 弱学习器:效果不是很好,模型简单 优点 集成学习通过将多个学习器进行结合,常可获得比单一…