sudo: docker-compose command not found

一些命令在普通权限下可以执行,但是换到root权限不可执行。
原因如下:

  1. 用户执行sudo命令时,系统会主动寻找/etc/sudoers文件,判断该用户是否有执行sudo的权限
  2. 若可执行,让用户输入密码确认
  3. 密码输入成功后,开始执行sudo后续的命令

我们先来查看docker-compose的文件路径,如下图所示。
在这里插入图片描述
然后查看/etc/sudoers文件中secure_path的路径,如下图所示。
在这里插入图片描述
若docker-compose不在该路径中,我们需要将其复制到sudo的路径下。
执行命令sudo cp -r /usr/local/bin/docker-compose /usr/bin/docker-compose

完成之后又遇到另一个问题,如下所示。
在这里插入图片描述
报错为/usr/lib/python3/dist-packages/requests/__init__.py:89: RequestsDependencyWarning: urllib3 (1.25.8) or chardet (5.0.0) doesn't match a supported version! warnings.warn("urllib3 ({}) or chardet ({}) doesn't match a supported "
查阅之后,发现是因为urllib3和chardet版本不匹配。
执行命令sudo pip3 list,查看其版本,如下图所示。
在这里插入图片描述
在这里插入图片描述
我们重新安装并升级requests模块,之后问题即可得到解决,其卸载和安装命令如下。

sudo pip3 uninstall urllib3 chardet
sudo pip3 install --upgrade requests

问题解决,如下图所示。
在这里插入图片描述


版权声明:本文为weixin_43765321原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。