docker安装redis命令及运行

embedded/2024/10/18 0:25:10/

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.ppmy.cn/embedded/35056.html

相关文章

一、Vagrant搭建相关环境

目录 一、创建Vagrant相关环境1.下载安装VirtualBox2.在BlOS中设置CPU虚拟化3.使用Vagrant新建linux虚拟机3.1下载Vagrant3.2Vagrant官方镜像仓库3.3使用Vagrant初始化一个centos7的虚拟机 4.设置固定ip地址 二、安装docker1.按照docker 三、docker安装一些中间件1.mysql安装2.…

vue3中的reactive和ref

🌏总结:reactive 适用于创建复杂的响应式对象,而 ref 则适用于创建简单的响应式值。 reactive 和 ref 是 Vue 3 Composition API 中用于创建响应式数据的两种主要方式,它们的作用如下: 响应式数据管理: rea…

通过helm在k8s上安装minio

1 helm安装minio 1.1 下载minio 添加仓库 helm repo add bitnami https://charts.bitnami.com/bitnami 将minio拉取下来 helm pull bitnami/minio --version 版本号 解压到本地开始编辑配置文件 tar -zxf minio-xxx.tgz [rootk8s-master01 minio]# vi values.yaml 1.2…

一对一WebRTC视频通话系列(四)——offer、answer、candidate信令实现

本篇博客主要讲解offer、answer、candidate信令实现,涵盖了媒体协商和网络协商相关实现。 本系列博客主要记录一对一WebRTC视频通话实现过程中的一些重点,代码全部进行了注释,便于理解WebRTC整体实现。 一对一WebRTC视频通话系列往期博客 一…

与Apollo共创生态:助力自动驾驶迈向新台阶

引言Apollo七周年大会企业协同工具链携手伙伴共创生态未来展望与总结 引言 2024年4月19日,一场智能汽车未来的盛宴正朝我们走来——Apollo开放平台的七周年大会。 此次大会主题为“破晓•拥抱智变时刻”其中“破晓”象征着新时代的曙光,意味着智能汽车技…

gateway中对返回的数据进行处理

gateway中对返回的数据进行处理 背景1.项目层次 背景 最近公司有个需求是对返回数据进行处理,比如进行数据脱敏。最后在gateway中进行处理。 1.项目层次 根据项目的结构,原本在菜单功能处有对于权限设计的url判断,所以在url后面加了一个正…

【数据可视化-02】Seaborn图形实战宝典

Seaborn介绍 Seaborn是一个基于Python的数据可视化库,它建立在matplotlib的基础之上,为统计数据的可视化提供了高级接口。Seaborn通过简洁美观的默认样式和绘图类型,使数据可视化变得更加简单和直观。它特别适用于那些想要创建具有吸引力且信…

后缀表达式

什么是后缀表达式? 在计算机科学和数学领域,表达式求值是一项基本且频繁的任务。我们熟知的中缀表达式(如 7 15 ∗ 1 4 ∗ 1)直观易读,但在计算机处理时却需要复杂的栈或递归算法来解析。相比之下,后缀表…