5个建议遵循的Docker最佳实践


【编者的话】本文介绍了5个Docker在实际应用场景下的最佳实践,能够帮助我们构建安全可靠的应用。

Docker不是唯一的容器技术,但是它是事实上的容器标准,对于容器应用及开发者来说,Docker是独一无二的。对Docker的支持已经被集成到各种各样的产品和平台中,并且许多组织已经使用Docker容器或者试图理解如何跟上潮流。

使用Docker并不是一件非常困难的事情,但是如果遵循一些最佳实践,将会用起来更加高效。下面是五个Docker最佳实践,你应该记住,无论你已经使用Docker,还是只是考虑将来使用。

1. 注意继承和依赖

容器继承父级镜像,通常包括其基本操作系统和依赖关系,例如依赖包,默认用户等。那些继承的属性和依赖可能会使您的容器暴露不必要的风险。确保您知道继承的属性,并采取其他的一些必要措施进一步隔离和保护您的容器。

2. 限制容器交互

容器安全对于很多组织来说已经成为一个严重关切的问题,特别是容器之间的交互以及容器与外界交互的安全问题。容器不应该接受来自任何网卡上暴露在外的端口的访问。您应该采取措施来控制容器在内部的互相交互,并限制与外部连接的容器数量,以便最大限度地减少外部带来的风险。

3. 监视容器的漏洞

使用像Docker Hub这样的代码仓库的一个挑战是,一旦容器镜像被上传到仓库,没有人为它的安全负责。它最初创建时可能很好,但随着时间的推移,发现了新的漏洞和缺陷,您需要在生产中使用容器之前扫描这些漏洞和缺陷。像Twistlock这样的工具可以帮助您监视和识别容器镜像中的漏洞。

4. 尽可能以只读方式运行容器

限制容器暴露风险的最好和最简单的方法之一是以只读模式运行它们。这显然不适用于所有容器,为了使得应用程序正常工作,必须有一些容器接受某种顺序的访问请求,这些容器可以以只读模式运行。还有一条原则是,永远不要在特权模式下运行容器。

5. 保持简洁

尽可能地使您的Docker容器组成的系统简化。您应该在单独的容器中运行进程。

如果有服务彼此依赖,则应使用容器链接功能来连接两个容器,而不是将它们组合在同一个Docker容器中。您还应该专注于保持容器加载的资源足够小,不要加载不必要的包或服务,并确保您的容器设计易于更换,那些不必要的资源只会使文件更大,浪费资源。容器组成的系统往往非常不稳定,容器应该很容易地被按需创建和删除。

以上所列并未涵盖所有的准则,说句实话,我可以写25个,甚至50个Docker最佳实践。这只是一个伟大的开始,以帮助您最大限度地提升Docker容器的价值,同时帮助您采取一些措施,以确保您的容器化应用程序和数据是安全的。

作者简介

Tony Bradley是Tenable网络安全的社区经理和TechSpective的总编辑。 Tony对技术和小工具充满热情,专注于微软技术和安全。他也喜欢花时间与他的家人一起,他喜欢阅读和高尔夫球,即使时间紧张也从未放弃。

原文链接: 5 Docker Best Practices You Should Follow (翻译:付辉)

0 个评论

要回复文章请先登录注册