本文详细介绍了docker容器应用中的10个坏习惯,有助于大家更好的理解和应用Docker,有兴趣的可以掌握。
毫无疑问,容器已经成为公司IT基础设施建设中不可或缺的一部分,它具有许多优势,例如:
然而,许多客户仍然像对待典型的vm虚拟机一样对待容器,并且忘记了容器有一个关键的特性:它们是一次性的。
这些特征促使客户改变他们对如何处理和管理方法容器的看法。那么如何保持集装箱的最佳经济效益呢?下面详细介绍Docker容器中应该防止的10件事。
1。没有必要将数据存储在容器中
因为您可以终止、销毁或更换容器。容器中运行的应用程序1.0版本应该很容易被1.1版本替换,不会造成任何伤害或内容损失。因此,如果必须存储数据信息,请批量存储。在这种情况下,我们还应该注意两个容器是否以相同的容量下载数据信息,因为这很可能会造成损坏。确保您的应用程序能够更好地加载共享资源数据存储。
2。没有必要将应用程序分为两部分来交付
有些人认为容器就像vm虚拟机,而大多数人倾向于认为他们应该将他们的应用程序部署到当前正在运行的容器中。在设计阶段,你需要进行持续的部署和调整,这是合适的。但是对于连续传输(CD)管道QA和生产,您的应用程序应该是映像的一部分。
3。没有必要创建大镜像
因为大图像将难以分发。确保只有运行应用程序/流程所需的文档和库可用。不需要安装冗余包或运行“升级”来将许多压缩文件下载到新的镜像层。
4。没有必要应用单面镜
为了更好地利用分层系统文件,请从头到尾为计算机 *** 作系统创建自己的基础镜像层,再创建一层登录名定义,再创建一层运行时安装,再创建一层设备,最后创建一层应用。同样,创建、管理和分发图像将变得更加容易。
5。没有必要从已经运行的容器创建镜像
也就是说,您不必应用“docker提交”来创建镜像。这个类创建镜像的方式是不可复制的,应该避免。从头到尾都应该使用完全可复制的Dockerfile或所有其他S2I(从源到镜像)方法。如果Dockerfile存储在源 *** 作存储库(git)中,可以跟踪对Dockerfile的更改。
6。没有必要只使用“全新”标志
对于Maven客户来说,新logo就像“快照”。由于容器的分层系统文件特征,鼓励应用程序标识。几个月后,镜像就形成了,你发现你的应用不能运行了,因为父层(来自Dockerfile)被一个有向后兼容性问题的新版本或者不正确的新版本取代了。从构建缓存文件中发现一个“全新的”版本,您不会感到惊讶。在工作环境中部署容器时,还应该防止应用“全新的”徽标,因为您无法跟踪映像的哪个版本一直在运行。
7。不要在一个容器中运行多个进程。
容器特别适合运行单个进程(http守护进程、应用网络服务器、数据库查询)。但是,如果有几个流程,管理方法很可能会遇到很多不便。找到日志,分别升级步骤。
8。没有必要将凭证存储在镜子中。
使用系统变量,您不希望在镜像中硬编码所有登录名/密码。使用系统变量从容器外部查找信息内容。这个基本原理的一个很好的例子是Postgres镜像。
9。没有必要以根客户的身份运行流程
默认情况下,docker容器作为根用户运行。随着docker的完善,很可能会呈现大量的安全默认设置选项。在这个阶段,其他人规定根客户可能在所有自然环境中都不可用是有风险的。您的映像应该使用USER命令来指定运行容器的非根客户机。
10。不依赖IP地址
每个容器都有自己的内部IP地址。如果你启动和停止容器,它可能会改变。如果应用程序或微服务架构必须与另一个容器通信,请应用系统变量将适当的IP地址和端口号从一个容器传输到另一个容器。
以上是Docker容器使用中坚决杜绝的10个坏习惯的详细内容。关于Docker容器使用的大量资料,请关心其他相关文章!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)