在 Amazon Linux AMI 上安装 1.12 版本

Installing 1.12 version on Amazon Linux AMI

如果我选择 Ubuntu 14.04 image.

,此页面将按预期工作

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-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

截至 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 或多或少地启动 & 运行宁与 1.12

  2. Select 需要额外 installation/config 的不同 AMI,具体取决于您的要求

例如。您提到您尝试了 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 为了起床和 运行ning。 AWS Linux AMI 有很多开箱即用的功能。如果您不介意配置工作并使用稍微不同的存储库系统,那么这同时也是一个不错的选择。)

我设法在亚马逊 Linux 上获得了 Docker 1.12.2 运行ning。以下是我采取的步骤:

将您想要的 Docker 版本下载到您的 Amazon Linux 实例(作为 gzipped 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/

在 tar 启动 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 脚本和 tart Docker 守护进程(作为后台进程)。

cgroupfs-mount
dockerd &

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

顺便说一句,我建议尽可能避免使用 Amazon Linux 并使用像 Ubuntu 或 CentOS 这样的主流发行版,它们似乎对 [=40= 有更好的支持].

更新:2017 年 1 月

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

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

(如 How to upgrade docker in latest Amazon linux AMI

https://docs.docker.com/samples/library/amazonlinux/ 最新的亚马逊Linux 2017.09好像有Docker版本17.06.2-ce