Linux使用Docker部署安装应用
一、Redis7.4部署安装
1、 拉取 Redis 镜像
# 拉取最新版本
docker pull redis:7.4
# 或拉取特定版本
docker pull redis:6.2.6
2、 创建挂载目录并配置 Redis
创建宿主机目录conf,data
mkdir -p /opt/docker/redis/{conf,data}
下载并修改 Redis 配置文件:
# 下载官方配置文件(根据版本调整 URL)
wget https://raw.githubusercontent.com/redis/redis/7.4/redis.conf -O /opt/docker/redis/conf/redis.conf# 编辑配置文件
vim /opt/docker/redis/conf/redis.conf
关键配置修改:
bind 0.0.0.0 # 允许远程访问
protected-mode no # 关闭保护模式
port 6379 # 默认端口
daemonize no # Docker 中禁用守护进程模式
requirepass yourpassword # 设置访问密码(可选)
appendonly yes # 启用 AOF 持久化
dir /opt/docker/redis/data # 数据存储目录(容器内路径)
4. 启动 Redis 容器
使用 docker run
命令:
docker run -d \--name redis_7.5 \--restart=always \--network host \-v /opt/docker/redis/conf/redis.conf:/opt/docker/redis/conf/redis.conf \-v /opt/docker/redis/data:/opt/docker/redis/data \redis:7.4 \redis-server /opt/docker/redis/conf/redis.conf
参数说明:
参数 | 作用 |
---|---|
-d | 后台运行容器 |
--name redis_7.5 | 容器名称 |
--restart=always | 开机自动重启容器 |
-p 6379:6379 | 映射宿主机与容器端口 |
-v ... | 挂载配置文件和数据目录 |
redis-server ... | 指定配置文件启动 Redis |
5. 验证安装
检查容器状态:
[root@eulerzy data]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
eff5289195f6 redis:7.4 "docker-entrypoint.s…" 6 seconds ago Up 6 seconds redis_7.5
STATUS
参数说明:
参数 | 实例 | 作用 |
---|---|---|
Up | Up 2 minutes | 容器正在运行中。时间表示容器已持续运行的时长。 |
Exited | Exited (0) 5 minutes ago | 容器已正常停止(退出码为 0)或异常停止(退出码非 0,如 1、137 等);退出码 0:通常表示容器内的主进程正常结束。其他退出码:表示异常退出,例如进程崩溃、被信号终止(如 137 表示被 SIGKILL 终止)。 |
Created | Created 10 seconds ago | 容器已创建但尚未启动(例如,使用 docker create 创建后未执行 docker start,需要启动) |
Restarting | Restarting (1) 2 seconds ago | 容器正在重启中。通常与 restart policy(如 --restart=always )相关,表示容器因故障退出后正在自动重启。 |
Paused | Up 1 hour (Paused) | 容器已被暂停。使用 docker pause 命令可以暂停容器内的所有进程,暂停后容器仍存在但不运行。 |
Dead | - | 容器处于异常状态,无法正常启动或停止,可能需要手动清理:docker rm -f ,清理全部:docker container prune |
进入容器测试连接:
docker exec -it redis redis-cli
127.0.0.1:6379> auth abc123456 #配置文件设置的密码
OK
127.0.0.1:6379> ping
PONG
6. 使用 Docker Compose 部署(推荐)
创建 docker-compose.yml
文件:
version: '3.8'
services:redis:image: redis:7.4container_name: redisrestart: alwaysports:- "6379:6379"volumes:- ./redis/conf/redis.conf:/usr/local/etc/redis/redis.conf- ./redis/data:/datacommand: ["redis-server", "/usr/local/etc/redis/redis.conf"]
启动容器:
docker-compose up -d
7. 常见问题与注意事项
1. 无法远程访问 Redis
- 检查防火墙规则,开放 6379 端口。
- 确保
bind 0.0.0.0
和protected-mode no
已配置。
2. 数据持久化失败
- 确认挂载目录权限:
chmod -R 777 /opt/docker/redis/data
- 检查
dir /data
和appendonly yes
是否启用。
3. 版本差异问题
- Redis 7.x 默认配置路径可能为
/usr/local/etc/redis/redis.conf
,需通过docker exec
确认。
4. 内存管理
- 在配置文件中设置最大内存策略(如
maxmemory 2gb
和maxmemory-policy allkeys-lru
)。
8. 安全建议
- 密码保护:始终设置
requirepass
。 - 网络隔离:在生产环境中使用 Docker 自定义网络,限制 Redis 暴露范围。
- TLS 加密:若需加密通信,启用
tls-port
并配置证书(适用于 Redis 6.x+)。
通过以上步骤,你可以完成 Redis 的完整 Docker 部署,并确保数据持久化、安全性和稳定性。如果有进一步问题,欢迎随时提问!