无需停机,手把手教您将 Docker CE 切换为 Docker EE

简介: 在最近发布的 Docker Engine 18.09 版本中,引入了一项名为“CE-EE Node Activate”的新功能。它可以让用户无缝地在现有的 CE 节点上执行 Enterprise 引擎的功能集

screenshot

出品丨Docker公司(ID:docker-cn)
编译丨小东
每周一、三、五,与您不见不散!


在最近发布的 Docker Engine 18.09 版本中,引入了一项名为“CE-EE Node Activate”的新功能。它可以让用户无缝地在现有的 Community Edition(CE)节点上执行 Enterprise 引擎的功能集,只需通过 Docker 命令行“CE-EE Node Activate”应用一个许可证,并将 Docker 引擎切换到 Enterprise 引擎即可。

screenshot

先决条件

  • Docker Community Edition(CE)版本必须为18.09或更高版本;
  • 必须安装所有 Docker 软件包:docker-cli、docker-server 和 containerd;
  • CE 和 EE 之间的节点级引擎激活仅支持 Docker Enterprise Engine for Docker 的相同版本;

测试的基础设施

  • 平台:Google Cloud Platform
  • 测试实例:1个

测试的先决条件

  • 使用 Google Cloud Engine 创建帐户(免费版);
  • 选择 Ubuntu 18.10 作为操作系统实例;

验证 Ubuntu 18.10 版本

$ cat /etc/os-release
NAME="Ubuntu"
VERSION="18.10 (Cosmic Cuttlefish)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.10"
VERSION_ID="18.10"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=cosmic
UBUNTU_CODENAME=cosmic

安装 Docker 18.09 版本

sudo apt install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic test"
sudo apt install docker-ce
~$ sudo docker version
Client:
 Version:          18.09.0
 API version:      1.39
 Go version:       go1.10.4
 Git commit:       4d60db4
 Built:            Wed Nov 7 00:49:01 2018
 OS/Arch:          linux/amd64
 Experimental:     false
Server: Docker Engine - Community
 Engine:
 Version:         18.09.0
 API version:     1.39 (minimum version 1.12)
 Go version:      go1.10.4
 Git commit:      4d60db4
 Built:           Wed Nov 7 00:16:44 2018
 OS/Arch:         linux/amd64
 Experimental:    false

运行 Nginx Docker 容器

$ sudo docker run -d -p 80:80 nginx
Unable to find image 'nginx:latest' locally
latest: Pulling from library/nginx
a5a6f2f73cd8: Pull complete
67da5fbcb7a0: Pull complete
e82455fa5628: Pull complete
Digest: sha256:31b8e90a349d1fce7621f5a5a08e4fc519b634f7d3feb09d53fac9b12aa4d991
Status: Downloaded newer image for nginx:latest
ba4a5822d7c991c04418b2fbbcadb86057eef4d98ba3f930bff569ac8058468e
CONTAINER ID       IMAGE              COMMAND                 CREATED            STATUS             PORTS               NAMES
ba4a5822d7c9       nginx              "nginx -g 'daemon of…"  5 seconds ago      Up 3 seconds       0.0.0.0:80->80/tcp  peaceful_swanson

验证 Nginx Docker 容器是否正常运行

~$ sudo curl localhost:80

Welcome to nginx!

If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.
For online documentation and support please refer to
nginx.org.
Commercial support is available at
nginx.com.
Thank you for using nginx.

将系统连接到 Docker Hub 帐户

$sudo docker login
Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one.
Username: ajeetraina
Password:
WARNING! Your password will be stored unencrypted in /home/joginderkour1950/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store
Login Succeeded

下载 Docker Enterprise 许可证

  • 浏览 https://store.docker.com/my-content 下载您的 Docker Enterprise 许可证;
  • 使用您的 Docker ID 登录;
  • 在您的个人资料页面下,点击“My Content”;
  • 点击“Setup”获取 Docker Enterprise许可证;
  • 在系统中下载您的 Docker Enterprise 许可证;
  • 复制 .lic 文件的内容;
  • 在 Ubuntu 系统上创建一个名为 mylicense.lic 的文件,并将其保存在某个位置;

激活 EE 许可证

即使您的用户是 docker group 的一部分,您也必须使用sudo。

$ sudo docker engine activate --license mylicense.lic
License: Quantity: 10 Nodes    Expiration date: 2018-12-10    License is currently active
18.09.0: resolved
267a9a121ee1: done
4365cd59d876: done [==================================================>] 1.161kB/1.161kB
7ec4ee35c404: done [==================================================>]  4.55MB/4.55MB
3c60d2c9ddf3: done [==================================================>] 25.71MB/25.71MB
55fa4079a8ab: done [==================================================>] 1.122MB/1.122MB
c5a93cbd4679: done [==================================================>] 333.9kB/333.9kB
e661b0f8ba29: done [==================================================>]  4.82kB/4.82kB
Successfully activated engine.
Restart docker with 'systemctl restart docker' to complete the activation.

重新启动 Docker 服务

$ sudo systemctl restart docker

验证 Docker Enterprise 的版本

$ sudo docker version
Client:
 Version:          18.09.0
 API version:      1.39
 Go version:       go1.10.4
 Git commit:       4d60db4
 Built:            Wed Nov 7 00:49:01 2018
 OS/Arch:          linux/amd64
 Experimental:     false
Server: Docker Engine - Enterprise
 Engine:
 Version:         18.09.0
 API version:     1.39 (minimum version 1.12)
 Go version:      go1.10.4
 Git commit:      33a45cd
 Built:           Wed Nov 7 00:17:07 2018
 OS/Arch:         linux/amd64
 Experimental:    false

验证 Nginx 容器是否仍在运行

$ sudo docker ps
CONTAINER ID       IMAGE              COMMAND                 CREATED            STATUS             PORTS               NAMES
ba4a5822d7c9       nginx              "nginx -g 'daemon of…"  6 minutes ago      Up 6 minutes       0.0.0.0:80->80/tcp  peaceful_swanson
相关文章
|
6月前
|
Linux Docker 容器
在Docker守护进程停机期间保持容器运行(即重启Docker时,正在运行的容器不会停止)
在Docker守护进程停机期间保持容器运行(即重启Docker时,正在运行的容器不会停止)
201 0
|
11月前
|
存储 监控 Kubernetes
如何以零停机时间或最少停机时间更新 Docker 容器,来确保应用程序持续可用
如何以零停机时间或最少停机时间更新 Docker 容器,来确保应用程序持续可用
248 0
|
容器 Docker Kubernetes
Mirantis 收购 Docker EE| 云原生生态周报 Vol. 28
Mirantis 收购 Docker | 云原生生态周报 Vol. 28 作者 | 禅鸣、进超、心水、心贵 业界要闻 1.Docker 将 Docker Enterprise 卖给 Mirantis Mirantis 是一家扎根于 OpenStack 的云公司,最近专注于 Kubernetes。
|
Linux 开发工具 Docker
使用 Docker CLI 将 CE 引擎升级到 EE 引擎
Docker 船长 Sujay Pillai 使用 Docker CLI 将 CE 引擎升级到 EE 引擎。
2461 0
|
存储 NoSQL 应用服务中间件
最佳实践系列丨Docker EE 服务发现参考架构(三)
现在您已经了解了 HRM 的工作原理和与它相关的要求,本部分将介绍用于 HTTP 路由、日志记录、监控和从节点的 HRM 语法。
2236 0
|
运维 负载均衡 网络协议
最佳实践系列丨Docker EE 服务发现参考架构(一)
服务发现对服务进行注册并发布其连接信息,以使其他服务了解如何连接到服务。随着应用向微服务和面向服务的架构转变,服务发现已经成为所有分布式系统的必要组成部分,增加了这些环境的运维复杂性。
8067 0
|
Devops 测试技术 Docker
无惧失败,Docker EE 帮助企业快速试错
DevOps 负责人 Don Bauer 表示:“Docker 让我们不惧失败,我们可以轻松、快速地对新事物进行测试,如果它适合我们,那我们就成功了。如果它不适合我们,那我们也无需为它浪费数周或数月的时间!。”
2730 0
|
存储 Linux Docker
Docker EE 安装 on centos7
1 安装方式 有两种方法可以 在Centos上安装和升级Docker企业版(Docker EE): YUM存储库:设置Docker存储库并从中安装Docker EE。这是推荐的方法,因为安装和升级是使用YUM管理的,并且更容易完成。
3302 0
|
运维 Kubernetes 安全
Docker EE 统一应用程序管理功能大揭秘,你想要的都在这里!
在 DockerCon 上,我们演示了 Docker EE 全新的统一应用程序管理功能,该功能可以让组织通过 Docker EE 环境来统一管理跨本地集群和云端托管的 Kubernetes 服务。
6389 0
|
存储 调度 Docker
最佳实践系列丨Docker EE 大规模部署指南(一)
此参考架构将帮助您规划大规模 Docker 企业版部署。它涉及核心 Docker EE 平台、UCP 以及 DTR。请使用本指南来帮助确定 Docker EE 部署的硬件和基础架构规模,并确定针对您的具体工作负载的最佳配置。
9652 0