部署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.6
    container_name: redis6.2.6
    ## 设置持久化,允许远程访问,密码等
    command: redis-server --appendonly yes --bind 0.0.0.0 --requirepass ${REDIS_PWD}
    ports:
      - 6379:6379
    volumes:
      - ./data/:/data
    environment:
      - TZ=Asia/Shanghai
    restart: always

方案二

创建docker-compose.yml环境文件

version: '3.8'

services:
  redis:
    image: redis:latest
    container_name: redis_server
    ports:
      - "6379:6379"
    volumes:
      - redis_data:/data
    environment:
      - REDIS_PASSWORD=yourpassword
    command: 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集群

GitHub 加速计划 / compose / compose
33.27 K
5.15 K
下载
compose - Docker Compose是一个用于定义和运行多容器Docker应用程序的工具,通过Compose文件格式简化应用部署过程。
最近提交(Master分支:2 个月前 )
501b5acd Add `jhrotko` to Core Maintainers. Signed-off-by: Laura Brehm <laurabrehm@hey.com> 9 天前
f51bc4cd Signed-off-by: Guillaume Lours <705411+glours@users.noreply.github.com> 10 天前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐