非法指令4对Mac上的docker compose意味着什么?

非法指令4对Mac上的docker compose意味着什么?,docker,docker-compose,Docker,Docker Compose,使用OSX 10.11.1,我首先从Docker站点安装了常规安装程序,并获得以下结果: → docker-compose --version Illegal Instruction: 4 然后我通过最新版本pip安装了它,得到了这个 → docker-compose --version Traceback (most recent call last): File "/usr/local/bin/docker-compose", line 9, in <module&g

使用OSX 10.11.1,我首先从Docker站点安装了常规安装程序,并获得以下结果:

 → docker-compose --version 
Illegal Instruction: 4
然后我通过最新版本pip安装了它,得到了这个

    → docker-compose --version
Traceback (most recent call last):
  File "/usr/local/bin/docker-compose", line 9, in <module>
    load_entry_point('docker-compose==1.6.0dev', 'console_scripts', 'docker-compose')()
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py", line 357, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py", line 2394, in load_entry_point
    return ep.load()
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py", line 2108, in load
    entry = __import__(self.module_name, globals(),globals(), ['__name__'])
  File "/Library/Python/2.7/site-packages/compose/cli/main.py", line 20, in <module>
    from ..progress_stream import StreamOutputError
  File "/Library/Python/2.7/site-packages/compose/progress_stream.py", line 1, in <module>
    from compose import utils
  File "/Library/Python/2.7/site-packages/compose/utils.py", line 11, in <module>
    from six.moves.queue import Empty
ImportError: No module named queue
→ docker compose--版本
回溯(最近一次呼叫最后一次):
文件“/usr/local/bin/docker compose”,第9行,在
加载入口点('docker-compose==1.6.0dev','console\u scripts','docker-compose')()
文件“/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/Python/pkg_resources.py”,第357行,在加载入口点
返回获取分布(dist)。加载入口点(组、名称)
文件“/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/Python/pkg_resources.py”,第2394行,在加载入口点
返回ep.load()
文件“/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/Python/pkg_resources.py”,第2108行,已加载
条目=\uuuuu导入(self.module\u名称,globals(),globals(),[''\uuuuuu名称\uuuuu'])
文件“/Library/Python/2.7/site packages/compose/cli/main.py”,第20行,在
from..progress\u流导入StreamOutputer错误
文件“/Library/Python/2.7/site packages/compose/progress\u stream.py”,第1行,在
从编写导入utils
文件“/Library/Python/2.7/site packages/compose/utils.py”,第11行,在
从6.moves.queue导入空
ImportError:没有名为queue的模块
如何在Mac上安装Docker Compose的工作版本?

10.11()有时会出现“非法指令:4”的问题

您可以安装一个版本的master,因为它是在较新版本的OSX上构建的,所以它没有这个问题


要进行pip安装,您应该使用virtualenv()。问题是OSX作为系统包安装的
six
版本非常旧,缺少了编写所需的一些东西。

我最终按照@dnephin的建议安装了1.6.0dev,在El Captain(10.11.02)上构建了bacc2b7

curl -L https://dl.bintray.com/docker-compose/master/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose && chmod +x /usr/local/bin/docker-compose 
但是我得到了一个API版本不匹配的错误

ERROR: client is newer than server (client API version: 1.22, server API version: 1.21)
所以我必须创建一个新的boot2docker VM runnningdocker 1.10

docker-machine create -d virtualbox --virtualbox-boot2docker-url=http://sirile.github.io/files/boot2docker-1.10.iso dev

更新:此问题似乎已在docker compose 1.7.0-rc1中解决。 见:

一旦1.7.0正式发布,你就应该没事了

同时,如果出于任何原因需要1.6.*二进制文件,您可以在此处下载,该文件已编译,可直接在出现此问题的旧Mac上使用:

安装说明在哪里?我该如何处理该文件?
chmod+x
然后您可以用同样的方式运行它