【问题标题】:Installing 1.12 version on Amazon Linux AMI在 Amazon Linux AMI 上安装 1.12 版本
【发布时间】:2017-01-14 15:29:37
【问题描述】:

如果我选择 Ubuntu 14.04 映像,此页面将按预期工作。

https://docs.docker.com/engine/installation/cloud/cloud-ex-aws/

但如果我选择 Amazon Linux AMI(图像中显示的列表中的第一个),那么我无法安装 1.12 版本的 docker。

但是我可以使用 ... 安装旧版本

yum install docker 

但我正在尝试在 Amazon Linux AMI 上安装最新的 1.12 版本。任何建议将不胜感激。

【问题讨论】:

    标签: docker docker-swarm


    【解决方案1】:

    更新:2017 年 1 月

    亚马逊在更新存储库 (amzn-updates) 中提供 docker 1.12。

    我已经安装了docker-1.12.6-1.17.amzn1.x86_64

    【讨论】:

    • 你如何安装它?
    • 尝试:yum update && yum install docker-1.12.6-1.17 as root。
    【解决方案2】:

    我设法让 Docker 1.12.2 在 Amazon Linux 上运行。以下是我采取的步骤:

    将您想要的 Docker 版本下载到您的 Amazon Linux 实例(作为 gzip 压缩的 tar),然后解压。这将创建一个名为 docker/ 的目录,其中包含 Docker 二进制文件。

    wget https://get.docker.com/builds/Linux/x86_64/docker-1.12.2.tgz
    tar -xvzf docker-1.12.2.tgz
    

    将所有 Docker 二进制文件移动到 /usr/local/bin

    sudo mv docker/* /usr/local/bin/
    

    在启动 Docker 守护程序之前,您需要运行一个名为 cgroupfs-mount 的脚本(作为超级用户)。获取此脚本的最简单方法是克隆包含它的 git 存储库。

    git clone https://github.com/tianon/cgroupfs-mount
    sudo mv cgroupfs-mount/cgroupfs-mount /usr/local/bin/
    

    更改为超级用户并确保 /usr/local/bin/ 在您的路径中(至少在 Amazon Linux 上,默认情况下不是这种情况)。

    sudo su
    export PATH=/usr/local/bin:$PATH
    

    现在您可以运行 cgroupfs-mount 脚本并启动 Docker 守护进程(作为后台进程)。

    cgroupfs-mount
    dockerd &
    

    dockerd 正在运行时,您可以以属于docker 组的任何用户的身份调用常规Docker 命令(例如docker pull)。这些安装步骤中缺少的是在启动时自动运行cgroupfs-mountdockerd

    顺便说一句,我建议尽可能避免使用 Amazon Linux,而改用 Ubuntu 或 CentOS 等主流发行版,它们似乎对 Docker 有更好的支持。

    【讨论】:

    • 对此表示赞同,因为截至目前 1.12.x 已被弃用,但该答案至今仍有效!
    【解决方案3】:

    截至 2016 年 10 月中旬,这是不可能的:https://github.com/docker/docker/issues/27313

    长话短说,AWS 和 Docker 人员之间似乎需要进行一些协调,而这种协调尚未发生:https://github.com/docker/docker/pull/17283#issuecomment-163456402

    几个选项:

    1. 等到该过程完成并发布新的 AWS Linux AMI,您何时可以运行 $ sudo yum install -y docker 并或多或少地启动和运行 w/1.12

    2. 根据您的要求选择需要额外安装/配置的不同 AMI

    例如。您提到您尝试了 Ubuntu 14.04 AMI。如果您通过 SSH 连接到该实例并尝试从 S3 复制一些大文件并将它们解压缩到主机上,以便将它们作为卷安装到您的容器中,那么您就会遇到问题。 Ubuntu 14.04 AMI 没有安装 aws-cli 工具,也没有开箱即用的“解压缩”命令(也没有 docker)——所以你需要阅读 http://docs.aws.amazon.com/cli/latest/userguide/installing.html#install-bundle-other-os 并运行 $ sudo apt-get unzip in为了起床和运行。 AWS Linux AMI 有更多开箱即用的花里胡哨。如果您不介意配置工作并使用稍微不同的存储库系统,那么这不是一个糟糕的选择。)

    【讨论】:

      【解决方案4】:

      我不知道为什么您的手动步骤不起作用,但您可以使用 docker-machine 安装 docker 守护程序。

      VM_OPTS="--driver amazonec2 
      --amazonec2-ami $YOUR-AMI
      --amazonec2-instance-type t2.medium
      --amazonec2-access-key $AWS_ACCESS_KEY_ID
      --amazonec2-secret-key $AWS_SECRET_ACCESS_KEY
      --amazonec2-ssh-keypath $AWS_SSH_KEYPATH
      --amazonec2-region ap-southeast-2
      --amazonec2-zone a
      --amazonec2-security-group $YOUR_SEC_GROUP_NAME"
      
      docker-machine create $VM_OPTS $VM_NAME
      

      【讨论】:

        【解决方案5】:

        您也可以使用以下命令从实例的命令行安装它:

        curl -sSL https://get.docker.com/ | sh
        

        【讨论】:

        • 在 Amazon Linux 实例上,上面的命令运行“yum -y -q install docker”,这与原始问题的命令基本相同。此命令安装 1.11.2(此时)。
        【解决方案6】:

        (如How to upgrade docker in latest Amazon linux AMI

        https://docs.docker.com/samples/library/amazonlinux/ 最新的 Amazon Linux 2017.09 似乎有 Docker 版本 17.06.2-ce

        【讨论】:

          猜你喜欢
          • 2014-11-07
          • 1970-01-01
          • 2014-06-03
          • 1970-01-01
          • 2018-04-11
          • 2015-05-05
          • 2019-08-06
          • 2014-12-03
          • 1970-01-01
          相关资源
          最近更新 更多