Docker执行docker-compose up -d报错:未知短标志'd'问题咨询
解决docker-compose up -d报错"unknown shorthand flag: 'd' in -d"的问题
问题场景
新Docker容器初始阶段,docker-compose up -d、docker-compose restart web、docker-compose logs -f --tail=10 web等命令均可正常执行,但电脑闲置一天后,执行docker-compose up -d时触发报错:Encountering an error in docker: unknown shorthand flag: 'd' in -d,即使容器处于活跃状态也会出现该问题。
排查与解决步骤
确认
docker-compose命令的有效性
执行which docker-compose,查看输出的路径是否为Docker官方安装的标准路径。如果输出为空或路径异常,说明docker-compose未正确加入环境变量或已损坏。检查是否存在命令别名混淆
执行alias | grep docker-compose,如果返回类似alias docker-compose='docker'的结果,说明系统将docker-compose别名指向了docker命令——而docker up并不支持-d参数,因此触发报错。执行unalias docker-compose取消该别名即可。修复或重新安装
docker-compose- Linux系统:
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose - Mac/Windows系统:打开Docker Desktop设置,确保“Docker Compose”选项已启用,重启Docker Desktop后系统会自动配置好
docker-compose命令。
- Linux系统:
验证修复效果
执行docker-compose --version,若能正常输出版本信息,再尝试docker-compose up -d,问题应已解决。
内容的提问来源于stack exchange,提问作者Speed
相关产品推荐
相关产品推荐

