docker-compose up启动tgbot报可执行文件不在$PATH错误
故障原因
报错由docker-compose.yml内tgbot服务的command配置格式错误触发。command使用列表(数组)语法时,Docker不会调用shell解析命令,会直接将列表首个元素作为可执行文件名,其余元素作为启动参数。当前配置将python3 main.py整体作为单个列表项,Docker会直接在$PATH中查找名称为python3 main.py的可执行文件,必然查找失败,抛出该错误。
修复方法
两种修改方式二选一即可:
- 保留列表格式:将命令与参数拆分为独立列表项,修改
tgbot服务下的command配置为:
command: - python3 - main.py
- 改用字符串格式:去掉列表写法,直接传入命令字符串,Docker会自动通过shell解析执行,配置改为:
command: python3 main.py
后续操作
修改配置后,确认Dockerfile所在目录(构建上下文根目录)下存在main.py文件,执行docker-compose up --build重新构建镜像并启动服务即可。
内容的提问来源于stack exchange,提问作者Axel
相关产品推荐
相关产品推荐

