首先从 Docker Hub 拉取最新的 Redis 镜像:
docker pull redis
docker run --name my-redis -d -p 6379:6379 redis
mkdir -p /docker/redis/conf
wget http://download.redis.io/redis-stable/redis.conf -O /docker/redis/conf/redis.conf
sed -i 's/bind 127.0.0.1/# bind 127.0.0.1/g' /docker/redis/conf/redis.conf
sed -i 's/protected-mode yes/protected-mode no/g' /docker/redis/conf/redis.conf
docker run --name my-redis \
-v /docker/redis/conf/redis.conf:/usr/local/etc/redis/redis.conf \
-v /docker/redis/data:/data \
-p 6379:6379 \
-d redis redis-server /usr/local/etc/redis/redis.conf
docker ps
应该能看到 Redis 容器正在运行。
docker exec -it my-redis redis-cli
在 Redis CLI 中执行:
ping
应该会返回 "PONG"。
确保防火墙已开放 6379 端口,然后使用以下命令从外部主机测试:
redis-cli -h <服务器IP> ping
nano /docker/redis/conf/redis.conf
# requirepass foobared
这一行,取消注释并将 foobared
改为你的密码:requirepass yourpassword
docker restart my-redis
Redis 默认已启用 RDB 持久化。如果需要更频繁的持久化,可以修改配置文件中的 save
参数。
docker stop my-redis
docker start my-redis
docker restart my-redis
docker logs my-redis
docker exec -it my-redis bash
通过以上步骤,您已成功在 Docker 中部署了 Redis 并开启了远程访问功能。