首页 > 数据库 >Docker 安装 Redis 容器 (完整详细版)

Docker 安装 Redis 容器 (完整详细版)

时间:2023-12-01 11:23:18浏览次数:54  
标签:opt 容器 -- Redis redis conf Docker

1、获取Redis镜像

Docker如果想安装软件 , 必须先到 Docker 镜像仓库下载镜像。

Docker 镜像仓库

2、下载Redis镜像

命令 描述
docker pull redis 下载最新版Redis镜像 (其实此命令就等同于 : docker pull redis:latest )
docker pull redis:xxx 下载指定版本的Redis镜像 (xxx指具体版本号)
# 下载镜像
docker pull redis

# 检查当前所有Docker下载的镜像
docker images

3、创建Redis配置文件

3.1、注意:

  1. 启动前需要先创建Redis外部挂载的配置文件 ( /home/redis/conf/redis.conf )
  2. 之所以要先创建 , 是因为Redis本身容器只存在 /etc/redis 目录 , 本身就不创建 redis.conf 文件
  3. 当服务器和容器都不存在 redis.conf 文件时, 执行启动命令的时候 docker 会将 redis.conf 作为目录创建 , 这并不是我们想要的结果 。
## 创建目录
mkdir -p /opt/redis/conf
mkdir -p /opt/redis/data

## 创建文件
touch /opt/redis/conf/redis.conf

4、创建Redis容器并启动

# Docker 创建 Redis 容器命令
docker run \
--restart=always \
--log-opt max-size=100m \
--log-opt max-file=2 \
-p 6379:6379 \
--name redis \
-v /opt/redis/conf/redis.conf:/etc/redis/redis.conf  \
-v /opt/redis/data:/data \
-d redis redis-server /etc/redis/redis.conf \
--appendonly yes \
--requirepass 123456 

命令 功能
docker run 这是 Docker 用来创建并运行一个新的容器的命令
--restart=always 如果容器退出,这个选项会使得它自动重启
--log-opt max-size=100m 这是对容器日志的设置,最大大小为 100MB
--log-opt max-file=2 这是对容器日志文件的设置,最多可以有2个日志文件
-p 6379:6379 这是端口映射的设置,将宿主机的6379端口映射到容器的6379端口
--name redis 这是给新创建的容器命名的选项,名字是 "redis"
-v /opt/myredis/redis.conf:/etc/redis/redis.conf 这是对容器内的文件系统的挂载设置,将宿主机上的 /opt/myredis/redis.conf 文件挂载到容器内的 /etc/redis/redis.conf 位置
-v /opt/myredis/data:/data 这是另一个文件系统的挂载选项,将宿主机上的 /opt/myredis/data 目录挂载到容器内的 /data目录
-d 这是 Docker 的分离模式,新创建的进程将会在后台运行
redis redis-server /etc/redis/redis.conf --appendonly yes --requirepass 123456 这是容器内要运行的命令,启动 Redis 服务,使用 /etc/redis/redis.conf 配置文件,设置追加写入(appendonly)为 yes,设置密码为 "123456"

5、Redis 配置文件修改

# 修改 /opt/redis/conf/redis.conf
protected-mode no
bind 0.0.0.0
命令 功能
protected-mode no 关闭protected-mode模式,此时外部网络可以直接访问 (docker貌似自动开启了)
bind 0.0.0.0 设置所有IP都可以访问 (docker貌似自动开启了)

6、RDM远程连接

# 重启redis服务
docker restart redis

使用RDM进行远程连接

标签:opt,容器,--,Redis,redis,conf,Docker
From: https://www.cnblogs.com/lzp110119/p/17869310.html

相关文章

  • ubuntu18 离线安装docker
    1下载文件,将下载的文件保存到/data下 安装unzip升级libseccomp2到2.5.1以上2安装dockersudomkdir/data/installsudomv/data/docker_install20231126_1804_amd64.zip/data/installcd/data/installsudounzipdocker_install20231126_1804_amd64.zipsudodpkg-i./c......
  • Redis事务
    是什么可以一次执行多个命令,本质是一组命令的集合。一个事务中的所有命令都会序列化,按顺序的串行化执行而不会被其他命令插入,不许加塞!能干嘛在一个队列中,一次性、顺序性、排他性的执行一系列命令Redis事务和数据库事务的区别单独的隔离操作Redis的事务仅仅是保证事务里的......
  • Docker安装mysql配置my.cnf并挂载到外部机器
    1.环境准备,创建外部挂载文件夹conf,data,logmkdir-p/data/dockerdata/mysql3306/{conf,data,log}2.在/data/dockerdata/mysql3306/conf文件夹下创建my.cnf文件my.conf文件配置如下[mysqld]#Mysql服务的唯一编号每个mysql服务Id需唯一server-id=1#服务端口号默认3306......
  • centos上安装redis、redis客户端操作、redis使用场景、通用命令
    centos上安装redis#win上装redis#上线--》centos装了--》详细研究#docker装---》配置--》持久化#官网看看-redis源码-----》自己编译-redisstack----》编译过后的可执行文件-6.x版本#咱们刚刚下了几个软件-redis-6.2.14-reids......
  • redis1
    centos上安装rediswin上装redis上线--》centos装了---》详细研究docker装----》配置持久化找官网:-redis源码----》自己编译-redisstack---》编译过后的可执行文件-6.x版本 基于源码,在不同平台编译成相应平台的可执行文件-mac-linux-乌......
  • Docker中创建ES集群并修改默认用户密码-sunziren
    注1,本文参考了https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html注2,本文这种搭建的方式,适用于开发环境,不适用与生产环境,生产环境要用Docker搭建ES集群,请使用docker-compose命令#创建docker内部网络elasticdockernetworkcreateelastic#下面三条命......
  • docker 一键搭建 MySQL 主从集群
    分享一个GitHub项目,用来一键搭建MySQL的主从集群的:https://github.com/vbabak/docker-mysql-master-slave前面Google了一下没找到,搜出来的都是需要自己手动调操作过的,本来想自己写一个的,让GPT取了个名字,结果一搜就搜到了现成了......
  • centOS7安装和卸载docker
    可参考docker官网文档:在CentOS上安装Docker引擎|Docker文档1)确定是CentOS7以上版本,命令如下:cat/etc/redhat-release2)卸载旧版本sudoyumremovedocker\docker-client\docker-client-latest\docker-c......
  • Redis的事务transactions
    1.Redis的事务仅仅是保证事务里的操作会被连续独占的执行,Redis的命令执行是单线程,2.Redis不保证事务的所有指令可以同时成功或者同时失败,只可以决定是否开始执行全部指令的能力,因此也没有回滚3.Redis可以保证一个事物内的命令会依次执行,不会被其他指令插入 MULTI#事务开始......
  • 如何查看redis中当前的客户端连接并且杀掉某些客户端连接
    查看当前的redisclient信息 进入redis控制台,执行命令clientlist  释放(杀掉)某些客户端 执行命令clientkill<客户端地址> 客户端地址,就是上面的addr=的部分 示例:clientkill10.1.40.156:24830  执行正确,会返回OK,表示客户端连接已经被kill掉了......