docker-compose
未找到,无法通过 安装apt
。如何解决这个问题?
$ docker-compose
bash: /usr/local/bin/docker-compose: No such file or directory
$ sudo apt install docker-compose
Reading package lists... Done
Building dependency tree
Reading state information... Done
docker-compose is already the newest version (1.21.0-3)
如果你问“我怎么会落得如此下场?”——我曾经遇到过以下问题:
$ docker-compose
Traceback (most recent call last):
File "/usr/local/bin/docker-compose", line 7, in <module>
...
ImportError: No module named ssl_match_hostname
为了修复这个问题,我执行了以下命令:
sudo -H python -m pip uninstall docker docker-compose
sudo apt update
sudo apt upgrade -y
sudo apt install docker docker-compose
答案1
使用以下链接直接从 Dockers 文档阅读安装说明。
https://docs.docker.com/compose/install/
看起来您缺少一些依赖项,并且看起来您必须检查路径或创建符号链接才能使命令正常docker-compose
工作。以下几行直接来自文档
Note: If the command docker-compose fails after installation, check your path. You can also create a symbolic link to /usr/bin or any other directory in your path.
For example:
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
此外,您应该安装“docker-ce”,而不是使用 apt 安装过时的“docker”包。
使用此链接查找有关如何安装正确docker-ce
软件包的说明
答案2
在这种情况下,请尝试创建另一个 Unix 用户,然后从该用户尝试。
如果它有效,可能是您的本地 Unix 用户破坏了.local
目录中的 Python 库。
尝试查找您的.local
目录:
ls -l ~/.local/lib | grep python
然后尝试禁用它。例如:
mv ~/.local/lib/python3.8 ~/.local/lib/python.bak
我希望这会有所帮助,因为用户经常使用 pip 或其他可能影响特定 Unix 用户的东西来破坏他们的本地 Python 环境。
这样,您就会获得一个干净的 Python 环境,该环境经过 Ubuntu 软件包管理员的充分测试。因此,docker-compose
Ubuntu 提供的官方软件包应该可以再次使用。