我希望在亚马逊Linux上将Docker升级到v1.8。
目前他们内部的yum软件包仓库中有:Docker version 1.7.1, build 786b29d/1.7.1
。
我已经尝试过的事情
从Docker项目的存储库手动安装
错误:软件包:docker-engine-1.8.2-1.el7.centos.x86_64(dockerrepo) 要求:systemd-units
我希望在亚马逊Linux上将Docker升级到v1.8。
目前他们内部的yum软件包仓库中有:Docker version 1.7.1, build 786b29d/1.7.1
。
我已经尝试过的事情
从Docker项目的存储库手动安装
错误:软件包:docker-engine-1.8.2-1.el7.centos.x86_64(dockerrepo) 要求:systemd-units
service docker stop
cp /usr/bin/docker /usr/bin/docker.old
curl -o /usr/bin/docker https://get.docker.com/builds/Linux/x86_64/docker-1.9.0
service docker start
...
"commands": {
...,
"03_upgrade_docker_for_log_driver_support": {
"command": {
"Fn::Join": [
"",
[
"#!/bin/bash -xe\n",
"service docker stop\n",
"cp /usr/bin/docker /usr/bin/docker.old\n",
"curl -o /usr/bin/docker https://get.docker.com/builds/Linux/x86_64/docker-1.8.3\n",
"service docker start\n"
]
]
}
}
...
}
...
docker
软件包,然后用来自https://docs.docker.com/installation/binaries/的1.8.2版本二进制文件覆盖了/usr/bin/docker
二进制文件。虽然不是很优雅,但所有依赖项都是相同的,而且由于我的AMI是不可变的,因此该软件包不会在当前镜像上进行升级。haveged
。另外,由于Amazon Linux默认禁用SELinux,所以与SELinux相关的所有步骤也都不必要,但docker-ce
需要container-selinux
,因此必须无论如何安装。启用防火墙在这里是可选的。yum install -q -y http://mirror.centos.org/centos/7/extras/x86_64/Packages/container-selinux-2.99-1.el7.noarch.rpm
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install -q -y firewalld docker-ce
systemctl enable firewalld
systemctl start firewalld
firewall-cmd --add-port=2377/tcp --permanent
firewall-cmd --add-port=2376/tcp --permanent
firewall-cmd --add-port=7946/tcp --permanent
firewall-cmd --add-port=7946/udp --permanent
firewall-cmd --add-port=4789/udp --permanent
firewall-cmd --zone=public --permanent --add-masquerade
firewall-cmd --reload
usermod -a -G docker ec2-user
systemctl enable docker
systemctl start docker
所有步骤都应该使用 sudo
运行。在执行这些命令后,非 sudo 的 docker run 将在重新启动/重新登录后可用。
将 Docker 更新到最新版本对我有用
sudo yum upgrade docker
docker
yum软件包并进行调整。 - Hzmy