使用 sudo 时无法识别 docker compose

Nei*_*ins 4 docker docker-compose

我的操作系统是 Ubuntu 20.04.3 LTS。

我已经安装了 docker compose V2,并且可以定期从命令行访问它:

$ docker compose version
Docker Compose version v2.2.2
Run Code Online (Sandbox Code Playgroud)

我还根据此处的手动说明安装了 compose-switch:https://docs.docker.com/compose/cli-command/#compose-switch并且工作正常:

$ docker-compose version
Docker Compose version v2.2.2
Run Code Online (Sandbox Code Playgroud)

但如果我使用 sudo 则两者都不起作用:

$ sudo docker compose version
docker: 'compose' is not a docker command.
See 'docker --help'
$ sudo docker-compose version
docker: 'compose' is not a docker command.
See 'docker --help'
Run Code Online (Sandbox Code Playgroud)

docker version有或没有 sudo 都是一样的:

版本:2012年10月20日
API版本:1.41

那么,如何让 docker compose 与 sudo 一起工作呢?

Nei*_*ins 12

我已在用户的主目录下安装了 docker-compose。我必须将文件docker-compose~/.docker/cli-plugins移动到/usr/local/lib/docker/cli-plugins

$ sudo mkdir -p /usr/local/lib/docker/cli-plugins
$ sudo mv /home/<username>/.docker/cli-plugins/docker-compose /usr/local/lib/docker/cli-plugins/docker-compose
Run Code Online (Sandbox Code Playgroud)

现在一切都按预期进行。