docker-compose在以普通用户身份运行时出现错误“ImportError:No module named ssl_match_hostname”

我已经安装了docker-compose与“pip2.7安装docker-compose”,但是当我尝试以“普通”用户身份运行时,我收到以下错误消息:

mike@hugin:~/Tobedeleted$ docker-compose -v Traceback (most recent call last): File "/usr/local/bin/docker-compose", line 7, in <module> from compose.cli.main import main File "/usr/local/lib/python2.7/dist-packages/compose/cli/main.py", line 17, in <module> from . import errors File "/usr/local/lib/python2.7/dist-packages/compose/cli/errors.py", line 10, in <module> from docker.errors import APIError File "/usr/local/lib/python2.7/dist-packages/docker/__init__.py", line 2, in <module> from .api import APIClient File "/usr/local/lib/python2.7/dist-packages/docker/api/__init__.py", line 2, in <module> from .client import APIClient File "/usr/local/lib/python2.7/dist-packages/docker/api/client.py", line 11, in <module> from .build import BuildApiMixin File "/usr/local/lib/python2.7/dist-packages/docker/api/build.py", line 9, in <module> from .. import utils File "/usr/local/lib/python2.7/dist-packages/docker/utils/__init__.py", line 2, in <module> from .build import tar, exclude_paths File "/usr/local/lib/python2.7/dist-packages/docker/utils/build.py", line 4, in <module> from .utils import create_archive File "/usr/local/lib/python2.7/dist-packages/docker/utils/utils.py", line 18, in <module> from .. import tls File "/usr/local/lib/python2.7/dist-packages/docker/tls.py", line 5, in <module> from .transport import SSLAdapter File "/usr/local/lib/python2.7/dist-packages/docker/transport/__init__.py", line 3, in <module> from .ssladapter import SSLAdapter File "/usr/local/lib/python2.7/dist-packages/docker/transport/ssladapter.py", line 21, in <module> from backports.ssl_match_hostname import match_hostname ImportError: No module named ssl_match_hostname 

这个用户是docker组的一部分,可以运行“docker ps”等没有任何问题。

如果我尝试运行'sudo docker-compose -v',我得到相同的错误。

但是,如果我先运行“sudo su – ”,然后发出“docker-compose -v”,我会得到预期的输出结果。

 root@hugin:~# docker-compose -v docker-compose version 1.11.2, build dfed245 

我已经尝试了'卸载卸载'各种各样的,所有的部分docker组成,ssl_match_hostname,然后重新安装,但似乎没有解决它。

我现在彻底坚持 – 有任何想法呢?

您必须使用以下命令重新安装docker-compose:

 curl -L https://github.com/docker/compose/releases/download/1.13.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose 

它为我工作