我有多个docker compose配置文件:docker-compose.yml
docker-compose.dev.yml
,当我使用带有arg-f docker-compose.dev.yml
的sail时,除了docker composed二进制命令外,我不能使用任何命令。
发生这种情况是因为在sail
内部,像artisan
、composer
等二进制命令执行如下:
elif [ "$1" == "artisan" ] || [ "$1" == "art" ];
因此,如果我们使用-f docker-compose.dev.yml
arg,artisan
命令将是第三个,而不是第一个,因此此代码正在运行
# Pass unknown commands to the "docker-compose" binary...
else
docker-compose "$@"
fi
如何解决这个问题?
这很简单。
你可以像使用docker-compose一样使用sail,所以要使用不同的docker-compase.yml文件,你可以使用sail作为:
sail -f your-custom-docker-compose.yml up -d