docker-compose start Redis with password

方案一

docker-compose.yml 文件中写入下列内容:

redis:
  image: redis
  container_name: my_redis
  command: redis-server /usr/local/etc/redis/redis.conf
  ports:
    - "6379:6379"
  volumes:
    - ./data:/data
    - ./redis.conf:/usr/local/etc/redis/redis.conf

其中:

  1. image 代表镜像名称;
  2. container_name 代表生成的容器名称;
  3. command 代表生成容器后要执行的命令;
  4. ports 将容器内的端口映射到容器外;
  5. volumes 代表共享目录或文件,冒号前为宿主机目录,冒号后为容器内目录。举例:- ./data:/data 意为将当前目录共享到容器内的 /data 目录,相当于做了一个软连接。

注:共享目录或文件时如果宿主机或容器内不存在 docker 会自动帮你创建。 Redis 的密码需要自己在与容器共享的配置 redis.conf 中加入,即更改配置中 requirepass 为:

requirepass yourpassword

docker-compose.yml 所在目录下执行 docker-compose up -d,即可在 Docker 中生成一个带密码的 Redis 容器。

方案二

同样在 docker-compose.yml 中写入下列内容:

redis:
  image: redis
  container_name: my_redis
  command: redis-server --requirepass yourpassword
  ports:
    - "6379:6379"
  volumes:
    - ./data:/data

然后直接在其所在目录下执行 docker-compose up -d,即可在 Docker 中生成一个带密码的 Redis 容器。

总结

方案一的好处是可以更多的定制 Redis 的配置,方案二的好处是可以快速启动一个带免密的 Docker Redis 实例而不需要依赖外部的 redis.conf。

Leave a Reply