部署Redis使用docker-compose是一种简便且流行的方式。以下是基本的docker-compose.yml文件示例,用于部署单节点Redis服务
方案一
直接使用docker安装单机版
创建.env
环境文件并配置管理密码
echo 'REDIS_PWD=redis123456' > .env
创建docker-compose.yml
环境文件
## docker-compose config ## 检查当前目录docker-compose.yml文件配置是否正确
## docker-compose up -d ## -d 为后台启动
## docker-compose up -d --force-rereate ## 强制重新创建容器,修改挂载文件后使用该命令启动,谨慎使用,调试时可使用,使用此命令可能造成数据丢失version: "3"
services:redis:image: redis:6.2.6container_name: redis6.2.6## 设置持久化,允许远程访问,密码等command: redis-server --appendonly yes --bind 0.0.0.0 --requirepass ${REDIS_PWD}ports:- 6379:6379volumes:- ./data/:/dataenvironment:- TZ=Asia/Shanghairestart: always
方案二
dockercomposeyml_30">创建docker-compose.yml
环境文件
version: '3.8'services:redis:image: redis:latestcontainer_name: redis_serverports:- "6379:6379"volumes:- redis_data:/dataenvironment:- REDIS_PASSWORD=yourpasswordcommand: redis-server --appendonly yes --requirepass ${REDIS_PASSWORD}volumes:redis_data:driver: local
解析文件内容
- version: 定义了docker-compose文件使用的版本,这里使用的是3.8。
- services: 下面定义了要部署的服务,在本例中是Redis。
- image: 指定使用的Redis镜像,这里使用的是Docker Hub上的最新官方Redis镜像。
- container_name: 给容器指定一个名称。
- ports: 将容器的6379端口映射到宿主机的6379端口,Redis默认端口。
- volumes: 映射一个卷redis_data到容器内的/data目录,用于持久化存储Redis的数据。
- environment: 设置环境变量,这里设定了Redis的密码。
- command: 启动Redis服务器时使用的命令,开启AOF持久化,并设置访问密码。
安全注意事项
- 密码保护:示例中使用环境变量REDIS_PASSWORD设置了一个密码。在实际使用中,请确保使用一个强密码替换yourpassword。
- 网络安全:默认情况下,Redis容器将端口映射到宿主机上,这可能会使Redis面对外部访问。确保配置合适的防火墙规则或在安全的内部网络中运行。
这里提供了两个基本的Redis部署示例供参考,适合开发和测试环境。对于生产环境,你可能需要考虑更多的安全措施和配置细节。
扩展
1、【运维】ansible批量安装docker(ansible牛逼,不要太爽了)
2、【运维】在centos7系统中如何给docker配置代理
3、【运维】portainer管理远程docker和docker-swarm集群
4、【运维】docker-compose安装minio集群