首页 > 数据库 >docker-运行redis服务

docker-运行redis服务

时间:2024-03-26 11:12:07浏览次数:22  
标签:容器 -- redis 6379 conf docker 运行

环境说明

linux系统版本:lsb_release -a

 

 

docker 版本: docker -v

 

 

不同的操作系统以及软件版本,可能会遇到不一样的问题,一定要注意版本问题。

 

查看docker中 mysql的版本,可以去官网,需要kx上网才能打开。

https://hub.docker.com/

 

 

最好是确认自己的服务器已经设置阿里云的镜像加速,或者使用腾讯的,网易的都是可以的。

自己选,设置之后下载镜像的速度回快很多。

sudo mkdir -p /etc/docker

sudo tee /etc/docker/daemon.json <<-'EOF'

{

  "registry-mirrors": ["https://registry-vpc.cn-hangzhou.aliyuncs.com"]

}

EOF

 

查看自己本地redis的版本号,为5.0.9

 

 

.1.拉取Redis镜像,尝试拉取指定版本的镜像。

 

 

可以正确拉取,如果有的版本拉取不到,说明官网可能没有这个版本,就需要换一个版本。

查看拉取的镜像 docker images

 

 

.2.运行redis服务。

docker run --name redis -p 6379:6379  -d 987b553c835f --requirepass "123456" --appendonly yes

参数解释:

docker run 表示运行redis容器

--name my-redis 表示给这个容器起一个名字

-p 6379:6379 表示将宿主机上3306端口映射到redis容器中的3306端口

-d 987b553c835f  表示在后台运行redis容器,987b553c835f表示镜像IMAGE ID

--requirepass "123456" 表示设置redis的密码

--appendonly yes 表示数据持久化

注意事项: 命令的顺序不能乱,-d 需要在  --requirepass 命令之前,否则执行会失败!

 

 

使用docker ps -a 查看所有的容器服务,如下

 

 

.3.登录阿里云服务器,打开远程端口6379;

控制台-->我的资源-->点击(实例)进入-->安全组-->安全组详情-->手动添加(入站规则)

 

 

真实项目中,建议不要使用默认端口,以防止被攻击。

 

.4.远程连接测试。

windows上连接redis的工具,使用的事RedisDesktopManager,

也可以根据自己的喜好去选择适合的工具。

 

 

测试连接成功。尝试着添加一条数据,发现可以正常添加。

 

 

.5.删除容器服务,重新启动服务。

因为测试需要,自己在这里重新拉取了redis6.0.8的版本。

 

 

.a.创建redis目录,redis数据保存目录;

 

 

下载redis配置文件。

从官网下载:http://download.redis.io/redis-stable/redis.conf

参考网友给的建议,创建配置文件,添加如下配置

 

#默认yes,开启保护模式,限制为本地访问

protected-mode no

# 绑定的主机地址,默认为 127.0.0.1,表示只允许本地访问

# bind 127.0.0.1

# 端口号,默认 6379

#port 6379

# Redis 数据库的数量,默认为 16

databases 10

# 日志级别,默认为 notice

loglevel notice

# 是否开启 AOF 持久化,默认关闭

aof-enabled no

requirepass root

 

 

.b.删除原有redis容器。

docker stop redis && docker rm redis

 

.c.重新创建新的容器

docker run --name redis \

-p 6379:6379  \

-v /opt/u01/exam/redis/redis.conf:/usr/local/etc/redis/redis.conf   \

-v /opt/u01/exam/redis/data:/data  \

-d 16ecd2772934   \

 

参数解释:

-v /opt/u01/exam/redis/redis.conf:/etc/redis/redis.conf 将宿主机上的配置文件挂载到redis容器中

-v /opt/u01/exam/redis/data:/data 将宿主机上的数据保存的目录,挂载到redis容器中

 

.6.远程连接测试,创建数,查看挂载路径和配置文件是否生效。

连接没问题,添加一条数据,然后查看文件大小是否有变动。

 

 

 

创建数据之前执行一次,创建数据之后查看文件内容有变动,说明数据目录挂载成功。

 

 

遇到的问题:配置的密码不生效。

根据网友的建议,使用如下命令重新创建容器,

docker run --name redis \

-p 6379:6379  \

-v /opt/u01/exam/redis/redis.conf:/usr/local/etc/redis/redis.conf  \

-v /opt/u01/exam/redis/data:/data  \

-d redis:6.0.8 redis-server /usr/local/etc/redis/redis.conf 

或者

docker run --name redis \

-p 6379:6379  \

-v /opt/u01/exam/redis/redis.conf:/usr/local/etc/redis/redis.conf  \

-v /opt/u01/exam/redis/data:/data  \

-d redis:6.0.8

 

结果报错,查看错误信息如下,大致地错误信息是配置文件错误。

 

配置错误,修改为

 

修改后重启容器,可正常远程连接。

 

 

参考博文

https://www.cnblogs.com/yufeng218/p/16240875.html

https://www.jianshu.com/p/9e4dd25b5e53

https://cloud.tencent.com/developer/article/2133215

https://www.cnblogs.com/qianmo123/p/17661084.html

https://cloud.tencent.com/developer/article/2166291

标签:容器,--,redis,6379,conf,docker,运行
From: https://www.cnblogs.com/yilangcode/p/18096188

相关文章

  • docker 和 conda 安装
    DockerRocky9dnfinstalldockerUbuntu20.04curl-fsSLhttps://get.docker.com-oget-docker.shsudoshget-docker.shsudousermod-aGdocker<username>sudoservicedockerstart重启dockerversiondockerinfodockerpull<name> 从dockerhub拉取镜像docke......
  • 别让 Docker 毁了你的 MySQL!
    Docker容器技术的火热,越来越多的应用开始被"装箱"。我们这些开发者享受着Docker带来的便捷和灵活,几乎恨不得把所有东西都塞进容器里。于是,连MySQL这样的有状态服务,也开始频频出现在Docker的舞台上。但是,把MySQL装进Docker,真的是个明智的选择吗?是否会给系统稳......
  • docker安装部署zabbix
    原文出处:https://blog.csdn.net/bjywxc/article/details/103308052 zabbix由2部分构成,zabbixserver与可选组件zabbixagent,要想搭建一个Zabbix的工作环境,主要有三个方面(界面、服务器和数据库)可以安装在同一台服务器上,也可以不在同一个服务器。本次使用Docker 开源的应用容器......
  • Docker进阶:Docker Swarm(集群搭建) —实现容器编排的利器
    Docker进阶:DockerSwarm(集群搭建)—实现容器编排的利器1、什么是DockerSwarm?2、DockerSwarm与DockerCompose的区别3、创建一个Swarm集群(1-Manager,2-Worker)1、资源准备2、初始化Swarm集群Manager节点3、添加Worker节点到Swarm集群4、Manager节点查看集群状态4、......
  • Docker 容器编排利器 Docker Compose
    目录一、DockerCompose简介二、DockerCompose安装2.1Mac、Windows平台默认支持2.2Linux安装(通过包管理)2.2.1安装2.2.2测试2.2.3卸载2.3使用PIP安装与卸载2.3.1PIP安装2.3.2PIP卸载三、基本使用3.1术语3.2部署Flask应用四、Compose常用命令4.1命令对象与格......
  • docker-运行mysql服务
    环境说明linux系统版本:lsb_release-a  docker版本:docker-v  不同的操作系统以及软件版本,可能会遇到不一样的问题,一定要注意版本问题。 查看docker中mysql的版本,可以去官网,需要kx上网才能打开。https://hub.docker.com/ 最好是确认自己的服务器已经设置......
  • Docker与防火墙
    文章目录DockerDocker是什么安装DockerDocker基础使用进入容器Docker-compose防火墙DockerDocker是什么dokcer是一个应用容器引擎,可以打包程序和运行环境,把环境和程序一起发布的容器,当你需要发布程序时,你可以使用dokcer将运行环境一起发布,docker完全使用沙箱机制......
  • Docker PostgresSQL and PGadmin4
    这里用的DockerDesktop PostgresSQL,拉取官方Image,并配置环境变量,端口灵活配置,只要宿主机,不冲突即可1#Postgresql数据库账号,默认有2POSTGRES_USER=xxx34#Postgresql数据库密码5POSTGRES_PASSWORD=123456678#0.0.0.0/0,这个表示允许所有ip访问,如果......
  • 注册表 REG文件 将所有程序强制窗口化运行 指定查询 强制窗口化运行
    将所有程序强制窗口化运行:CopyCodeWindowsRegistryEditorVersion5.00[HKEY_CURRENT_USER\Software\Microsoft\WindowsNT\CurrentVersion\AppCompatFlags\Layers]"*"="~WINCOMPATLAYER=HIGHDPIAWARE"你可以复制上述内容并保存为.reg格式的文件,然后双击运行该文件,确......
  • PaddleNLP:Docker下搭建基于ES的语义检索系统
    PaddleNLP:Docker下搭建基于ES的语义检索系统什么是语义检索?语义检索(也称基于向量的检索):指检索系统不再拘泥于用户Query字面本身(例如:sql查询的like),而是能精准捕捉到用户Query后面的真正意图并以此来搜索,从而更准确地向用户返回最符合的结果。原理是通过使用最先进的语义......