无需停机,手把手教您将 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
相关文章
|
5月前
|
Docker 容器
在openEuler 22.03 LTS上安装Docker CE和Docker Compose
以上就是在openEuler 22.03 LTS上安装Docker CE和Docker Compose的过程。希望这个指南能帮助你顺利完成安装。
1122 12
|
Linux 测试技术 Docker
Docker CE for CentOS 安装教程
Docker CE for CentOS 安装教程
367 1
|
Linux Docker 容器
在Docker守护进程停机期间保持容器运行(即重启Docker时,正在运行的容器不会停止)
在Docker守护进程停机期间保持容器运行(即重启Docker时,正在运行的容器不会停止)
843 0
|
存储 缓存 Linux
Centos7 yum 方式安装 安装 Docker CE
系统要求 Docker CE 支持 64 位版本 CentOS 7,并且要求内核版本不低于 3.10。 CentOS 7 满足最低内核的要求,但由于内核版本比较低,部分功能(如 overlay2 存储层驱动)无法使用,并且部分功能可能不太稳定。 卸载旧版本 旧版本的 Docker 称为 docker 或者 docker-engine,使用以下命令卸载旧版本:
3514 1
|
Linux Docker 容器
在 CentOS7 上安装新版 Docker CE(使用国内源)
使用国内源在 CentOS 7 上安装和删除最新版 Docker CE 的简单教程。
13207 1
|
消息中间件 Linux 数据安全/隐私保护
Docker-Centos7安装Docker CE 及在Docker CE中安装RabbitMQ
Docker-Centos7安装Docker CE 及在Docker CE中安装RabbitMQ
481 0
|
Linux 数据库 Docker
CentOS 7安装Docker CE镜像报错问题解决
CentOS 7安装Docker CE镜像报错问题: ** 发现 2 个已存在的 RPM 数据库问题, 'yum check' 输出如下: 7:device-mapper-libs-1.02.170-6.el7_9.5.x86_64 是 7:device-mapper-libs-1.02.170-6.el7.x86_64 的副本 7:device-mapper-libs-1.02.170-6.el7_9.5.x86_64 有缺少的需求 device-mapper = ('7', '1.02.170', '6.el7_9.5')
CentOS 7安装Docker CE镜像报错问题解决
|
存储 监控 Kubernetes
如何以零停机时间或最少停机时间更新 Docker 容器,来确保应用程序持续可用
如何以零停机时间或最少停机时间更新 Docker 容器,来确保应用程序持续可用
605 0
|
运维 Linux Docker
Centos 7配置Docker CE 镜像
Centos 7配置Docker CE 镜像
Centos 7配置Docker CE 镜像
|
运维 Linux 网络安全
【阿里云镜像】使用阿里云Docker CE 镜像安装Docker
【阿里云镜像】使用阿里云Docker CE 镜像安装Docker
1616 0
【阿里云镜像】使用阿里云Docker CE 镜像安装Docker