docker - 在 docker 容器中出现错误“/usr/local/bin/docker-entrypoint.sh: 16: exec: redis-server --port 6000: not found”
问题描述
我正在使用 docker compose 启动一个 docker 容器并传递我希望它使用的端口。但是启动 redis 的命令不起作用,并且说找不到:
/usr/local/bin/docker-entrypoint.sh: 16: exec: redis-server --port 6000: 未找到
码头工人撰写
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 的端口?
解决方案
你用了- redis-server --port ${Ports_Exposed_Redis}
,意思是你想用exec form
of CMD
,但是你的yaml格式不对,指的是这个:
你应该使用:
command:
- redis-server
- --port
- ${Ports_Exposed_Redis}
或者:
command: ["redis-server", "--port", "${Ports_Exposed_Redis}"]
推荐阅读
- c# - C# Gradebook 程序,从文本文件中读取数据
- java - Java JSP servlet 500 错误
- c# - Selenium webdriver C#:无法识别 HTML 表单标签内的按钮元素
- angular - 如何检查Angular2中加载的元素?
- c++ - 优先队列模板推送功能
- datepicker - Vuejs2 - vue2-datepicker 中的日期格式问题
- javascript - 如何将鼠标事件附加到隐藏的 SVG 元素?
- mysql - 如何使用表中的主键属性将值插入到sql中的多值属性?
- java - Firebase 数据库,如何用数据库节点的内容填充 Spinner?
- c# - 通过 DI 在 Singleton 中调用 .NET Core Scoped