在Docker容器内收到错误“ /usr/local/bin/docker-entrypoint.sh:16:exec:redis-server --port 6000:not found”

时间:2019-07-31 01:44:03

标签: docker redis docker-compose

我正在使用docker compose启动一个docker容器,并传递我要使用的端口。但是启动redis的命令不起作用,并说找不到它:

  

/usr/local/bin/docker-entrypoint.sh:16:exec:redis-server --port 6000:没找到

docker-compose

version: '2.1'
services:

  redis:
    image: redis
    ports:
      - ${Ports_Exposed_Redis}:${Ports_Exposed_Redis}
    command: 
      - redis-server --port ${Ports_Exposed_Redis}

我通过Ports_Exposed_Redis作为环境变量,例如:

export Ports_Exposed_Redis=6000

如何将运行Redis的端口传递给它?

1 个答案:

答案 0 :(得分:0)

您使用- redis-server --port ${Ports_Exposed_Redis},这意味着您想使用exec form中的CMD,但是您的Yaml格式错误,请参考this

您应该使用:

command:
    - redis-server
    - --port
    - ${Ports_Exposed_Redis}

或者:

command: ["redis-server", "--port", "${Ports_Exposed_Redis}"]