运行 'docker-compose up' 在 Windows 上引发 "No module named fnctl" 错误

Running 'docker-compose up' raises "No module named fnctl" error on Windows

设置:

我使用 pip:

安装了 docker-compose
pip install docker-compose

而且好像安装成功了。但是,当我尝试 运行: docker-compose 在我有 docker-compose.yml 定义的目录中时,我得到以下异常:

Traceback (most recent call last):
  File "c:\Python27\Scripts\docker-compose-script.py", line 9, in <module>
    load_entry_point('docker-compose==1.2.0', 'console_scripts', 'docker-compose
')()
  File "c:\Python27\lib\site-packages\pkg_resources.py", line 351, in load_entry
_point
    return get_distribution(dist).load_entry_point(group, name)
  File "c:\Python27\lib\site-packages\pkg_resources.py", line 2363, in load_entr
y_point
    return ep.load()
  File "c:\Python27\lib\site-packages\pkg_resources.py", line 2088, in load
    entry = __import__(self.module_name, globals(),globals(), ['__name__'])
  File "c:\Python27\lib\site-packages\compose\cli\main.py", line 11, in <module>

    import dockerpty
  File "c:\Python27\lib\site-packages\dockerpty\__init__.py", line 17, in <modul
e>
    from dockerpty.pty import PseudoTerminal
  File "c:\Python27\lib\site-packages\dockerpty\pty.py", line 21, in <module>
    import dockerpty.io as io
  File "c:\Python27\lib\site-packages\dockerpty\io.py", line 18, in <module>
    import fcntl
ImportError: No module named fcntl

我从与 docker 无关的不同帖子了解到,抛出此错误是因为 fcntl 是 linux 原生的,显然,我的 python windows 发行版缺少它.但是,那里的人指定的解决方法不一定适用于我个人的情况。

我也尝试了这里的步骤:https://github.com/docker/compose/releases

我使用 curl(没有 uname 解析)下载了 linux 存档并授予了执行权,但仍然:

$ docker-compose -version
./docker-compose: ./docker-compose: cannot execute binary file

有人知道在 Boot2docker VM 上安装 docker-compose 的任何解决方法/实际功能方法吗?

您可以 运行 docker 在 boot2docker Windows.
上编写 您可以直接在 boot2docker 中将 docker compose 安装在容器 中并以这种方式使用它。

参见“ and issue 1085