Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Docker 在Amazon Linux AMI上安装1.12版本_Docker_Docker Swarm - Fatal编程技术网

Docker 在Amazon Linux AMI上安装1.12版本

Docker 在Amazon Linux AMI上安装1.12版本,docker,docker-swarm,Docker,Docker Swarm,如果我选择Ubuntu14.04图片,这个页面会正常工作 但是,如果我选择AmazonLinuxAMI(图中所示列表中的第一个),那么我无法安装docker的1.12版本 但是,我可以使用 yum install docker 但是我正在尝试在AmazonLinuxAMI上安装最新的1.12版本。任何建议都将不胜感激。我不知道为什么您的手动步骤不起作用,但您可以使用docker机器安装docker守护程序 您还可以使用以下命令从实例的命令行安装它: curl -sSL https://get

如果我选择Ubuntu14.04图片,这个页面会正常工作

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

但是,我可以使用

yum install docker 

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

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


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

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

截至2016年10月中旬,这是不可能的:

长话短说,AWS和Docker人员之间似乎需要一些协调,但这种协调尚未发生:

两个选项:

等待该过程完成并发布一个新的AWS Linux AMI,您可以在其中运行$sudo yum install-y docker并或多或少地运行w/1.12

根据您的要求,选择需要额外安装/配置的其他AMI


你提到你试过Ubuntu14.04AMI。如果您使用SSH连接到该实例&尝试从S3复制一些大文件,并在主机上解压缩它们,以便将它们作为卷装载到您的容器中,那么您就会遇到问题。Ubuntu14.04AMI没有安装aws cli工具,也没有开箱即用的解压命令,也没有docker,因此您需要阅读并运行$sudo apt get unzip才能开始运行。AWSLinuxAMI有很多现成的东西。如果您不介意配置工作和使用稍微不同的存储库系统,那么在这段时间内这是一个不错的选择。

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

将您想要的Docker版本作为gzip tar下载到Amazon Linux实例中,并将其解压缩。这将创建一个名为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中

在启动Docker守护进程之前,需要以超级用户身份运行名为cgroupfs mount的脚本。获取此脚本的最简单方法是克隆包含它的git repo

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挂载脚本并作为后台进程启动Docker守护进程

cgroupfs-mount
dockerd &
当Docker运行时,您可以作为属于Docker组的任何用户调用常规Docker命令,例如Docker pull。这些安装步骤缺少的是在启动时自动运行cgroupfs mount和dockerd

另一方面,我建议尽可能避免使用Amazon Linux,改用主流发行版,如Ubuntu或CentOS,后者似乎对Docker有更好的支持。

更新:2017年1月

亚马逊在更新库amzn更新中提供docker 1.12

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


最新的Amazon Linux 2017.09似乎有Docker版本17.06.2-ce

在Amazon Linux实例上,上面的命令运行“yum-y-q install Docker”,这与原始问题基本相同。此命令此时安装1.11.2。如何安装该命令?请尝试使用:yum update&&yum install docker-1.12.6-1.17作为root用户。请对此进行投票,因为从现在起1.12.x已被弃用,但此答案至今仍然有效!
sudo su
export PATH=/usr/local/bin:$PATH
cgroupfs-mount
dockerd &