【问题标题】:How to update docker in Amazon EC2如何在 Amazon EC2 中更新 docker
【发布时间】:2021-10-28 03:40:11
【问题描述】:

我使用命令 yum install dockerAmazon Linux AMI 上安装了 docker 引擎。 Docker 版本是 1.10yum update docker 声明它是最新版本。因此我无法在 ec2 中运行 swarm,因为需要 Docker 版本 1.12。如何更新到最新版本(请注意,该解决方案应该很容易应用于 ansible 配置)。

【问题讨论】:

  • 您是否将 docker 存储库添加到该实例上的 yum 存储库?

标签: amazon-web-services docker amazon-ec2 ansible docker-swarm


【解决方案1】:

更新:

对于最新的 Docker 引擎,只需输入:

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

更新 docker 后,请确保您使用的是正确的版本:

docker -v
Docker version 1.12.0, build 8eab29e

现在您需要进行群更新。 用新的参数值更新一个 swarm。此命令必须针对管理器节点。

$ docker swarm update --cert-expiry 720h

群更新

Usage:  docker swarm update [OPTIONS]

Update the swarm

Options:
      --cert-expiry duration            Validity period for node certificates (default 2160h0m0s)
      --dispatcher-heartbeat duration   Dispatcher heartbeat period (default 5s)
      --external-ca value               Specifications of one or more certificate signing endpoints
      --help                            Print usage
      --task-history-limit int          Task history retention limit (default 5)

警告:此命令是 Docker 1.12 中引入的 Swarm 管理功能的一部分,可能会受到非向后兼容的更改。

资源链接:

  1. swarm update
  2. How to Configure Docker Swarm
  3. Easy Docker Orchestration With Docker 1.12, AWS EFS And The Swarm Mode
  4. Running Docker on Amazon EC2
  5. Provision a Swarm cluster with Docker Machine

出于检查目的,我已运行该命令并获得了最新版本。我在命令之间有所不同。您已使用-sSL。请使用 -fsSL 而不是 -sSL

skywalker@skywalker-PC:~$ curl -fsSL https://get.docker.com/ | sh
You're using 'elementary' version 'loki'.
Upstream release is 'ubuntu' version 'xenial'.
[sudo] password for skywalker: 
..............
............
Get:1 http://bd.archive.ubuntu.com/ubuntu xenial/universe amd64 aufs-tools amd64 1:3.2+20130722-1.1ubuntu1 [92.9 kB]
Get:2 https://apt.dockerproject.org/repo ubuntu-xenial/main amd64 docker-engine amd64 1.12.3-0~xenial [19.3 MB]
Get:3 http://bd.archive.ubuntu.com/ubuntu xenial/universe amd64 cgroupfs-mount all 1.2 [4,970 B]
Fetched 19.4 MB in 1min 23s (233 kB/s)
...........
...........
Processing triggers for ureadahead (0.100.0-19) ...
+ sudo -E sh -c docker version
**Client:
 Version:      1.12.3
 API version:  1.24
 Go version:   go1.6.3
 Git commit:   6b644ec
 Built:        Wed Oct 26 22:01:48 2016
 OS/Arch:      linux/amd64
Server:
 Version:      1.12.3
 API version:  1.24
 Go version:   go1.6.3
 Git commit:   6b644ec
 Built:        Wed Oct 26 22:01:48 2016
 OS/Arch:      linux/amd64**

If you would like to use Docker as a non-root user, you should now consider
adding your user to the "docker" group with something like:

  sudo usermod -aG docker skywalker

Remember that you will have to log out and back in for this to take effect!

skywalker@skywalker-PC:~$ docker -v
Docker version 1.12.3, build 6b644ec
skywalker@skywalker-PC:~$ 

【讨论】:

  • 但是如何在 Amazon Linux AMI 上更新 docker?我尝试更新 yum 缓存并安装 docker,还尝试了get.docker.com 的官方安装脚本,但都安装了 1.11 版
  • @TuomasToivonen 请检查更新。使用-fsSL 而不是-sSL。希望对您有所帮助。
  • 通过处置这些 Amazon Linux 实例并改用 RHEL 解决了问题
  • @TuomasToivonen 哦,太好了。感谢分享。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-01-13
  • 2017-06-30
  • 2012-03-01
  • 2016-10-24
  • 2016-09-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多