「如何实现流动式软件发布」线上课堂开课啦,快来报名参与课堂抽奖吧~ 了解详情
写点什么

Docker 1.3 发布:增加安全机制及进程注入

2014 年 10 月 18 日

10 月 16 日,Docker 发布了 1.3 版本。历经 45 个贡献者的多达 750 次代码提交,这次发布的版本除了进行以往发布例行的质量改善以外,还增加了不少有用的新功能,如数字签名机制、进程注入、更好的镜像创建方式以及安全选项,下面对这几个功能进行逐一介绍:

数字签名机制

在这个版本中,Docker 引擎将使用数字签名机制自动分析所有官方 Docker 镜像库(Repo)的来源和完整性。这种机制可以发现官方镜像库可能存在的入侵,从一定程度上保证镜像使用过程中的可信度。Docker 团队表示,该机制只是接下来要发布的众多新特性之一,更多的还包括镜像分发商和用户经常会用到的身份验证,PKI 管理以及镜像加密等。作为首次发布,该特性还处于继续研发的阶段,目前如果 Docker 引擎发现使用的镜像被入侵,只会抛出一个警告,而不是阻止用户继续使用该镜像。在未来的版本中,该特性将会被进一步增强,严格过滤恶意镜像。

Docker exec:进程注入

在开发基于 Docker 的应用过程中,开发者可能需要运行时查看应用。诸如 nsinit 和 nsenter 这样的工具,在过去的开发过程中,在一定程度上起到了作用,但是这些都是第三方工具,需要开发者自己去寻找、学习和管理。本次发布中,有了一个新的命令 exec,可以让开发者轻松在 Docker 容器里通过 API 和命令行工具生成进程,比如:

复制代码
$ docker exec ubuntu_bash -it bash

就会在 ubuntu_bash 这个容器中运行 bash。

进一步来讲,通过提供 exec 命令,开发者就拥有了更灵活的应用开发调试助手。

Docker create:更加细化的镜像创建方式

之前开发者都是使用 run 命令来创建容器,并在其中运行应用。随着 Docker 的广泛应用,越来越多的开发者要求对容器的创建有更加细致的控制,本次发布的 create 命令就是解决这个需求的。通过 run 命令,开发者可以创建但是不去运行容器,稍后可以使用 start 和 stop 命令来控制容器的生命周期。

安全选项

可能国内很多同仁所关心的就是这个特性了,Docker 命令行工具新增加了一个参数,–security-opt,为用户设定个性化的 SELinux 和 AppArmor 标签和属性。比如,需要设置一个安全选项,让容器只能监听 Apache 端口,假设这个策略命名为 svirt_apache,那么就可以通过如下命令完成这个需求:

复制代码
$ docker run --security-opt label:type:svirt_apache -i -t centos \ bash

这样做的好处就是,Docker 容器不一定要运行在支持 SELinux 的内核上,也无需用—privileged 参数运行,避免了很多安全隐患。

此外本次发布还有 Mac OS X 下的共享目录工具 boot2docker。


感谢郭蕾对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2014 年 10 月 18 日 13:172216
用户头像

发布了 268 篇内容, 共 103.9 次阅读, 收获喜欢 19 次。

关注

评论

发布
暂无评论
发现更多内容

助力孩子走上学霸之路,K12学习神器现已面世!

新闻科技资讯

最简单的Go Dockerfile编写姿势,没有之一!

万俊峰Kevin

go Docker Dockerfile

还有谁比阿里人更懂SpringCloud Alibaba 呢?P8大牛纯手打笔记免费分享!

Java架构之路

Java 程序员 架构 面试 编程语言

服务于阿里、滴滴、华为等一线互联网公司的分布式消息中间件RocketMQ核心笔记

Java架构追梦

Java 架构 面试 RocketMQ 消息中间件

官方活动 | 盘点2020有奖征文

InfoQ写作平台官方

活动专区 盘点2020

构师训练营第八周学习笔记

李日盛

笔记

仅凭这份Java大纲笔记,我如愿拿到了阿里offer。

Java架构之路

Java 程序员 架构 面试 编程语言

恕我直言!有了这份MySQL学习文档,你收藏夹里的其他MySQL学习资料都可以扔了

Java架构之路

Java 程序员 架构 面试 编程语言

滴滴DoKit-功能介绍之文件同步助手

工具 文件 DoKit

训练营第八周作业

大脸猫

极客大学架构师训练营

四面腾讯pcg后端开发岗,一个星期面完成功拿到20K的offer。分享面经

Java架构之路

Java 程序员 架构 面试 编程语言

SGY奇点交易所系统软件APP开发

开發I852946OIIO

系统开发

区分Protobuf 3中缺失值和默认值

Gopher指北

golang protobuf

刚拿到蚂蚁金服架构师offer!大佬教你如何成为offer收割机

比伯

Java 编程 架构 面试 计算机

DolphinDB与Elasticserach在金融数据集上的性能对比测试

DolphinDB

数据处理 金融 时序数据库 tsdb DolphinDB

装机必备:借用IDM实现百度云高速下载

懒得勤快

JS&Swift

ios swift

了解OAuth2.0

环信

话题讨论 | 程序员自己电脑中毒是甚么体验?

xcbeyond

话题讨论

我哭了!Centos6停止更新只能切换7,哪些习惯也需要切换

996小迁

Java 架构 面试 Centos6

我哭了!Centos6停止更新只能切换7,哪些习惯也需要切换

小Q

Java Linux centos 学习 面试

《迅雷链精品课》第十二课:PoW共识算法

迅雷链

区块链

三分钟看懂新一代.Net Core3.1工作流引擎平台

Philips

敏捷开发 工作流

使用LiteOS Studio图形化查看LiteOS在STM32上运行的奥秘

华为云开发者社区

LiteOS 脚本 语言

华为云亮相QCon2020深圳站,带你体会大厂的云原生玩法与秘诀

华为云开发者社区

专家 华为云 深圳

港美股交易系统开发框架构造简述篇

软件开发大鱼V15724971504

国际配售 港股交易系统开发 证券交易系统 资管系统 港股打新系统

动态高并发时为什么推荐ReentrantLock而不是Synchronized?

moon聊技术

JVM 并发 synchronized ReentrantLock 锁升级

请问如何短时间突击 Java 通过面试?

Java架构师迁哥

让垃圾分类开发“极快致简”的好物件,零基础的开发小白也能轻松驾驭它!

华为云开发者社区

数据 分类

Spark-submit执行流程,了解一下

华为云开发者社区

spark 技术 流程

github上标星70.5k,贼火的Java突击手册,全面详细对标阿里P7

Crud的程序员

Java 多线程 架构师 java面试 java基础

Docker 1.3发布:增加安全机制及进程注入-InfoQ