在Amazon Linux AMI上安装1.12版本

如果我selectUbuntu 14.04映像,此页面按预期工作。

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

但是,如果我selectAmazon Linux AMI(图中所示列表中的第一个),那么我无法安装1.12版本的docker。

我可以安装旧版本使用…

yum install docker 

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

截至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并且或多或less的运行起来,运行w / 1.12

  2. select一个不同的AMI,这将需要额外的安装/configuration取决于您的要求

恩。 你提到你尝试过Ubuntu 14.04 AMI。 如果你SSH到那个实例,并尝试从S3复制一些大文件,并将它们解压到主机上,以便将它们作为卷挂载到容器中,则会遇到问题。 Ubuntu 14.04 AMI没有安装aws-cli工具,也没有开箱即用的“unzip”命令(也没有docker ) – 所以你需要阅读http://docs.aws.amazon .com / cli / latest / userguide / installing.html#install-bundle-other-os并运行$ sudo apt-get unzip以启动并运行。 AWS Linux AMI拥有更多的开箱即用function。 如果你不介意configuration工作,并使用一个稍微不同的存储库系统,在这期间这不是一个坏的select。)

更新:2017年1月

Amazon在更新库(amzn-updates)中提供docker 1.12。

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

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

将您需要的Docker版本下载到您的Amazon Linux实例(作为gzipped tar),并将其解压缩。 这将创build一个名为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/位于您的path中(在Amazon Linux上至less默认情况下不是这样)。

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

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

 cgroupfs-mount dockerd & 

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

另外,如果可能的话,我build议避免使用Amazon Linux,并使用像Ubuntu或CentOS这样的主stream发行版,而这些发行版似乎对Docker有更好的支持。

我不知道为什么你的手动步骤不起作用,但你可以使用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 

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

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

(就像在如何在最新的Amazon linux AMI中升级docker一样)

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