首页 > 解决方案 > redis-cli 不能用作 docker 命令

问题描述

我正在运行以下 redis 容器:

   version: '3'
   services:
     redis:
       image: 'bitnami/redis:latest'
       environment:
        - ALLOW_EMPTY_PASSWORD=yes

我正在尝试通过连接到它所在的网络来通过我的另一个应用程序访问它:

   version: '3'
   services:
     nginx:
       build: .
       #command: tail -f /dev/null
       ports:
        - "8080:80"
   networks:
     default:
      external:
        name: redis
FROM ubuntu:16.04
RUN apt-get update
RUN apt-get full-upgrade -y
RUN apt-get install redis-server -y
EXPOSE 80
CMD redis-cli -h app_redis_1 ping

每当我在 Dockerfile 中使用命令 redis-cli -h app_redis_1 ping 作为我的 CMD 时,我都无法连接到我的 redis 服务器。但是,如果我在正在运行的容器中取消注释 tail -f /dev/null 和 exec 并自己运行此命令,我可以毫无问题地连接。我该如何解决这个问题?

标签: dockerredis

解决方案


通过将命令移动到 yml 文件来解决


推荐阅读