Ubuntu 22.04环境下Docker Compose v2.17.2执行启动命令时提示配置文件未找到的问题求助
看起来你遇到的问题挺典型的——明明当前目录放着compose.yaml,Docker Compose却死活找不到,指定文件路径还跑到了snap的奇怪目录里。我给你几个实用的排查和解决方向:
先确认当前工作目录是否正确
有时候我们可能不小心切换了目录自己没察觉,导致Docker Compose在错误的路径找配置文件。先执行这条命令看看当前所在路径:pwd如果输出不是
/develop/composetest,就用cd /develop/composetest切回目标目录,再重新执行docker compose up试试。检查配置文件的文件名和存在性
Linux系统下文件名区分大小写,而且Docker Compose只会默认识别docker-compose.yml、docker-compose.yaml、compose.yml、compose.yaml这几个文件名。你可以用这条命令确认文件是否存在且名称正确:ls -l要是发现文件名拼写错了(比如多了空格、大小写不对),改回正确的名字即可。
用绝对路径或明确相对路径指定配置文件
你执行docker compose -f compose.yaml up时出现的错误,大概率是snap版Docker Compose的路径解析出了问题。试试用绝对路径指定文件:docker compose -f /develop/composetest/compose.yaml up或者用
./明确指定当前目录的文件:docker compose -f ./compose.yaml up排查snap安装带来的权限限制
如果你是通过snap安装的Docker Compose,它的沙箱机制可能会限制对/develop这类非用户主目录的访问权限。可以试试把你的composetest文件夹移到用户主目录下(比如~/Projects/composetest),再重新执行命令。
要是这个方法不方便,也可以考虑换成官方二进制包安装Docker Compose:先卸载snap版的sudo snap remove docker-compose然后下载官方二进制文件到
/usr/local/bin目录并赋予执行权限,这样就能避开snap的权限限制了。
备注:内容来源于stack exchange,提问作者Ciube

