Docker Engine v18.09.1 新版本特性解读,全新功能先睹为快(一)
出品丨Docker公司(ID:docker-cn)
编译丨小东
每周一、三、五,与您不见不散!
Docker Engine v18.09.1 上个月推出了 GA。社区版和企业版用户都可以使用它。它包含了缺陷修复程序,您可以在出于一致性和兼容性原因而无法快速采用新功能的环境中使用这些缺陷修复程序。
全新的 18.09 版本是一个对于 Docker 社区版引擎和 Docker企业版引擎来说一致的发布模型。新的版本控制方案是“YY.MM.x”,其中“x”是递增的补丁版本。它们将基于相同的代码库同时发布相同的“x”版本的补丁。
2019年2月15日更新:修复 Docker 社区版引擎和 Docker企业版引擎的安全补丁
- 更新 runc 以解决一个关键的漏洞,该漏洞允许特制容器获得主机管理权限;【CVE-2019-5736】
- 使用 3.13 版本内核的 Ubuntu 14.04 用户需要升级到受支持的 Ubuntu 4.x 版本的内核;
Docker Engine v18.09.1 提供了许多新功能、改进和 Bug 修复。让我们来看看在升级到 Docker 18.09.1 版本时值得注意的主要功能列表:
- Docker Engine v18.09.1 自带 containerd v1.2.2 版本;
- BuildKit 0.3.3 脱离了实验模式,可以正式使用;
- 支持在 Kubernetes 上使用 Compose;
- 使用“docker info”命令可以公开产品信息;
- 首次在 Windows 10 上实现进程隔离;
- 支持使用 SSH 进行远程连接;
- 支持 SSH 代理套接字转发;
- 使用 BuildKit 时,支持“registry-mirrors”和“insecure-registries”;
- 使用 BuildKit 时,支持使用“--secret”标记来增加构建时隐私;
- 使用 BuildKit 时,支持“docker build -pull”命令;
Docker Engine v18.09.1 自带 containerd v1.2.2 版本
适用于 CE 和 EE 的 Docker Engine v18.09.2 版本均附带 containerd 1.2.2 版本。在 18.09 版本之前的 Docker 中,containerd 是由 Docker 引擎守护进程管理。在 Docker Engine 18.09 中,containerd 则是由 systemd 来管理。
让我们尝试在最新的 Ubuntu 18.10 版本的虚拟机上安装最新的 Docker 18.09.2,并尝试验证 containerd 版本:
sudo curl -sSL https://get.docker.com/ | sh # Executing docker install script, commit: 26dda3d + sudo -E sh -c apt-get update -qq >/dev/null + sudo -E sh -c apt-get install -y -qq apt-transport-https ca-certificates curl >/dev/null + sudo -E sh -c curl -fsSL "https://download.docker.com/linux/ubuntu/gpg" | apt-key add -qq - >/dev/null Warning: apt-key output should not be parsed (stdout is not a terminal) + sudo -E sh -c echo "deb [arch=amd64] https://download.docker.com/linux/ubuntu cosmic edge" > /etc/apt/sources.list.d/docker.list + sudo -E sh -c apt-get update -qq >/dev/null + sudo -E sh -c apt-get install -y -qq --no-install-recommends docker-ce >/dev/null + sudo -E sh -c docker version Client: Version: 18.09.2 API version: 1.39 Go version: go1.10.6 Git commit: 6247962 Built: Sun Feb 10 04:13:46 2019 OS/Arch: linux/amd64 Experimental: false Server: Docker Engine - Community Engine: Version: 18.09.2 API version: 1.39 (minimum version 1.12) Go version: go1.10.6 Git commit: 6247962 Built: Sun Feb 10 03:42:13 2019 OS/Arch: linux/amd64 Experimental: false 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 robertsingh181 Remember that you will have to log out and back in for this to take effect! WARNING: Adding a user to the "docker" group will grant the ability to run containers which can be used to obtain root privileges on the docker host. Refer to https://docs.docker.com/engine/security/security/#docker-daemon-attack-surface for more information. @collabnix:~$ sudo usermod -aG docker robertsingh181
验证 Docker 版本
$sudo docker version Client: Version: 18.09.2 API version: 1.39 Go version: go1.10.6 Git commit: 6247962 Built: Sun Feb 10 04:13:46 2019 OS/Arch: linux/amd64 Experimental: false Server: Docker Engine - Community Engine: Version: 18.09.2 API version: 1.39 (minimum version 1.12) Go version: go1.10.6 Git commit: 6247962 Built: Sun Feb 10 03:42:13 2019 OS/Arch: linux/amd64 Experimental: false
请注意:客户端和容器运行时现在位于 Docker Engine 18.09 中守护进程的独立包中。用户应同时安装和更新这三个软件包。从而获取最新的补丁版本。
例如,在 Ubuntu 上运行“sudo apt install docker-ce docker-ce-cli containerd.io”命令。
$ sudo dpkg --list | grep container ii containerd.io 1.2.2-3 amd64 An open and reliable container runtime ii docker-ce 5:18.09.2~3-0~ubuntu-cosmic amd64 Docker: the open-source application container engine ii docker-ce-cli 5:18.09.2~3-0~ubuntu-cosmic amd64 Docker CLI: the open-source application container engine
验证 Containerd 版本
$ sudo containerd --help NAME: containerd - __ _ __ _________ ____ / /_____ _(_)___ ___ _________/ / / ___/ __ \/ __ \/ __/ __ `/ / __ \/ _ \/ ___/ __ / / /__/ /_/ / / / / /_/ /_/ / / / / / __/ / / /_/ / \___/\____/_/ /_/\__/\__,_/_/_/ /_/\___/_/ \__,_/ high performance container runtime USAGE: containerd [global options] command [command options] [arguments...] VERSION: 1.2.2 COMMANDS: config information on the containerd config publish binary to publish events to containerd oci-hook provides a base for OCI runtime hooks to allow arguments to be injected. help, h Shows a list of commands or help for one command GLOBAL OPTIONS: --config value, -c value path to the configuration file (default: "/etc/containerd/config.toml") --log-level value, -l value set the logging level [trace, debug, info, warn, error, fatal, panic] --address value, -a value address for containerd's GRPC server --root value containerd root directory --state value containerd state directory --help, -h show help --version, -v print the version $ sudo ctr version Client: Version: 1.2.2 Revision: 9754871865f7fe2f4e74d43e2fc7ccd237edcbce Server: Version: 1.2.2 Revision: 9754871865f7fe2f4e74d43e2fc7ccd237edcbce
因为 containerd 在 v18.09.1 版本下由 systemd 管理,所以更改“docker.service systemd”挂载设置的任何自定义配置(例如:MountFlags = slave)都会破坏 Docker 引擎的守护进程和 containerd 之间的交互,您将无法启动容器。运行以下命令获取 docker.service 的 MountFlags 当前的属性值:
sudo systemctl show --property=MountFlags docker.service MountFlags=
如果该命令输出的 MountFlags 为非空值,那么请更新配置,然后重启 docker 服务。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
【直播回顾】Java Spring Boot开发实战系列课程(第17讲):Spring Boot 2.0实战Docker容器Linux
主讲人:徐雷(阿里云栖特邀Java专家)徐雷,花名:徐雷frank;资深架构师,MongoDB中文社区联席主席,吉林大学计算机学士,上海交通大学硕士。从事了 10年+开发工作,专注于分布式架构,Java Spring Boot、Spring Cloud、MongoDB、Redis。 喜欢专研技术问题,擅长讲课,《MongoDB实战》第2版、《24种云计算架构设计模式》译者,2018年5月受邀成为《阿里巴巴Java和MongoDB技术认证》讲师,2018年8月与阿里巴巴资深专家P9叶翔直播《阿里巴巴MongoDB高级实战课程》 点击关注徐雷的云栖社区个人主页 内容概要:Docker是最流行的开源容器引擎,Go语言开发,在互联网大规模集群、云计算、微服务等架构中广泛使用。 本次课程一起学习如何基于Linux系统实战实战Docker容器,打包S
- 下一篇
一对一视频聊天app开发过程中关于数据存储的问题
在一对一视频聊天app开发过程中,通常会遇到各方各面的问题,比如延时、卡顿等技术性问题等等。而其中的数据存储问题也是比较令人头疼的,如果数据定期访问那么数据存储的成本反而更高。为了避免拥挤可以借助云端数据存储的方式,协助开发者解决这些成本窘境。1.什么是云存储?云存储是一种云计算模型,可通过云计算提供商(将数据存储作为服务进行管理和运营)在 Internet 上存储数据。该模型按需适时提供容量和成本,无需您自行购买和管理数据存储基础设施。可实现敏捷性、全球规模和持久性,以及“随时随地”访问数据。 2.云存储该如何运作?云存储购买自第三方云供应商,这些云存储供应商管理着容量、安全性和持久性,以使您的应用程序从世界各地都能访问数据。应用程序通过传统存储协议或直接通过 API 访问云存储。许多供应商都提供各种补充服务,旨在帮助大规模收集、管理、保护和分析数据。(1数据存储和使用层次当设计一个应用并将其和数据关联,需要考虑创建的存储层次,同时内存数据的高速缓存也许在云端看起来比较麻烦,但是通过大部分内存元素访问,可以减少数据访问率,从而减少成本。(2本地存储服务支持尽管本地资源和云之间的块或者...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- CentOS关闭SELinux安全模块
- CentOS7设置SWAP分区,小内存服务器的救世主
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- 设置Eclipse缩进为4个空格,增强代码规范
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2全家桶,快速入门学习开发网站教程
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长