docker安装redis
1. 创建本地映射文件夹
mkdir -p /docker/redis/data
(自定义位置,我选择了上面的文件夹,映射文件夹一会要在redis命令中用到,如果改变请注意)
可选:给当前用户加/docker文件夹的权限。sudo chown -R xxxx /docker
2. 下载redis默认配置文件
前往redis的GitHub地址 redis-github 下载redis.conf文件
3. 设置密码
打开redis.conf文件,搜索 requirepass
打开注释,设置密码
4. 让其他机器可以连接
打开redis.conf文件,搜索 bind
修改为bind 0.0.0.0 ::0
允许所有连接,如果有其他限制,自行修改
继续搜索protected-mode,改为no
关闭保护模式
4. 将redis.conf上传到服务器
上传到/docker/redis
5. 拉取redis镜像
docker pull redis
6. 启动docker镜像
docker run --restart=always --log-opt max-size=100m --log-opt max-file=2 -p 6379:6379 --name redis -v /docker/redis/redis.conf:/etc/redis/redis.conf -v /docker/redis/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes
解释:来自ChatGPT
这条 docker run
命令用于启动一个 Docker 容器,里面运行着一个 Redis 服务器。让我们逐个解释每个参数的意义:
-
--restart=always
: 这个参数设置容器的重启策略为always
,意味着无论容器退出状态如何,只要 Docker 守护进程运行,容器就会被自动重启。 -
--log-opt max-size=100m
: 这个日志选项设置容器日志文件的最大大小为 100MB。达到这个大小后,旧的日志会被丢弃。 -
--log-opt max-file=2
: 这个日志选项设置最多保留两个日志文件。结合上一个选项,表示最多保留 200MB 的日志信息。 -
-p 6379:6379
: 将容器内的 6379 端口映射到宿主机的 6379 端口上,使得可以从宿主机访问容器内运行的 Redis 服务。 -
--name redis
: 为容器设置一个名称为redis
,这样可以更容易地引用它。 -
-v /docker/redis/redis.conf:/etc/redis/redis.conf
: 将宿主机上的/docker/redis/redis.conf
文件挂载到容器内的/etc/redis/redis.conf
。这样可以让容器使用外部的配置文件来配置 Redis 服务器。 -
-v /docker/redis/data:/data
: 将宿主机上的/docker/redis/data
目录挂载到容器内的/data
目录。这用于持久化 Redis 数据,确保容器重启后数据不丢失。 -
-d
: 以守护进程模式运行容器,即在后台运行。 -
redis
: 指定要运行的 Docker 镜像,这里是redis
镜像。 -
redis-server /etc/redis/redis.conf
: 容器启动后执行的命令,使用/etc/redis/redis.conf
配置文件启动 Redis 服务器。 -
--appendonly yes
: 启用 Redis 的 AOF (Append Only File) 持久化模式,即所有写操作都会被记录到 AOF 文件,这样在重启时可以通过 AOF 文件恢复数据。
通过这些参数,Docker 会启动一个配置好的 Redis 服务器容器,它将自动重启、具有日志管理、端口映射、使用外部配置和数据目录,并以 AOF 模式运行。