如何在 Linux RHEL 6.6 上安装 docker-compose?

How to install docker-compose on Linux RHEL 6.6?

知道如何在 Linux RHEL 上安装 docker-compose。

我按照以下步骤操作

sudo yum install epel-release
sudo yum install -y python-pip
sudo pip install docker-compose
sudo yum upgrade python*

我在尝试检查其版本时收到以下消息 (docker-compose -version)

    Traceback (most recent call last):
  File "/usr/bin/docker-compose", line 7, in <module>
    from compose.cli.main import main
  File "/usr/lib/python2.6/site-packages/compose/cli/main.py", line 17, in <module>
    from . import errors
  File "/usr/lib/python2.6/site-packages/compose/cli/errors.py", line 10, in <module>
    from docker.errors import APIError
  File "/usr/lib/python2.6/site-packages/docker/__init__.py", line 3, in <module>
    from .client import DockerClient, from_env
  File "/usr/lib/python2.6/site-packages/docker/client.py", line 2, in <module>
    from .models.containers import ContainerCollection
  File "/usr/lib/python2.6/site-packages/docker/models/containers.py", line 874
    for network in networks}
      ^
SyntaxError: invalid syntax

关于这个问题有什么想法或者我在安装时出错了吗?

我怀疑是安装问题。不过,您可以参考 this 网页。

根据您遇到的错误,文件 /usr/lib/python2.6/site-packages/docker/models/containers.py.[=11 似乎有问题=]

你为什么不检查一下那个文件中是否有一些修改。 否则,您可以使用 github 存储库全新安装 docker-compose。

不推荐也不支持 Docker 使用 RHEL 6。

最近版本的 Linux 内核中添加了许多允许 Docker 的内容,但 RHEL 6 中缺少这些内容,因为它被设计为具有长期支持的企业系统( 10 年)。

简单来说就是太旧了,而且Red Hat themselves aren't porting Docker on it.

RHEL6 和 Centos6 最常使用古老的 docker-1.7.1 与 yum 一起安装。它仅与 docker-compose-1.5.2(或更早版本)兼容,您仍然可以(截至 2018 年)下载已编译的二进制文件:

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

chmod a+x /usr/local/bin/docker-compose

ldd /usr/local/bin/docker-compose
        linux-vdso.so.1 =>  (0x00007ffffaed8000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007f9d5e0c3000)
        libz.so.1 => /lib64/libz.so.1 (0x00007f9d5dead000)
        libc.so.6 => /lib64/libc.so.6 (0x00007f9d5db19000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f9d5e2c7000)

请记住,您的 docker-compose.yml 仅限于 syntax version 1。尽管 link 表示 docker 1.7.1 不受支持,但它会起作用;我使用它没有问题。