您需要避免的 7 个 Docker 反模式
2023-09-27 14:27:53 时间
Docker 通过其简单的容器化模型改变了软件开发,让您可以快速将工作负载打包成可复制的单元。虽然 Docker 很容易掌握,但它的用法有更多的细微差别,而不是总是很明显。当您希望优化 Docker 使用以提高效率和性能时尤其如此。
以下是您应该寻找和避免的七种最常见的 Docker 反模式。尽管您的容器和图像可能会满足您的直接需求,但任何这些实践的存在都表明您正在以一种可能进一步有害的方式偏离容器化原则。
1. 在容器内应用更新
可以说,最常见的 Docker 反模式是尝试使用从传统虚拟机继承而来的技术来更新容器。容器文件系统是短暂的,因此当容器停止时所有更改都会丢失。它们的状态应该可以从Dockerfile用于构建图像的状态中重现。
这意味着您不应该apt upgrade在容器内运行。然后,它们将与构建它们的图像不同。容器旨在自由互换;将数据与代码和依赖项分开,让您可以随时替换容器实例。
应该通过定期重建镜像、停止现有容器并根据修改后的镜像启动新容器来应用补丁。社区工具链项目可用于简化此过程并让您了解可用的上游更新。
2. 在一个容器内运行多个服务
容器应该是独立的并专注于一项特定的功能。尽管您以前可能在一台物理机器上运行您的 Web 和数据库服务器,但完全解耦的方法会将两个组件分离到单独的容器中。
这种方法可以防止单个容器镜像变得太大。您可以使用内置的 Docker
相关文章
- Docker的4种网络模式
- Why does Docker need a Union File System
- Mnogo单节点 Docker模式安装
- CentOS双机中Docker下安装Mysql并配置互为主从模式
- Docker NFS volume 创建与使用
- Docker Swarm 维护模式
- 创建Docker镜像
- Docker容器之网络模式
- 容器平台选型的十大模式:Docker、DC/OS、K8S 谁与当先?【转】
- Docker Compass
- docker学习3-虚拟网络模式
- 使用Docker在本地搭建Hadoop分布式集群
- Docker 入门尝鲜
- Docker网络之网络模式简介
- vscode配置docker插件
- Docker的4种网络模式
- 浅析Docker容器的两种运行模式及 docker run 的 --rm 参数的作用及与 docker rm 的区别
- 浅析Docker Swarm集群管理:基本笔记、简介、集群演讲历史、常用命令、swarm工作模式、swarm的关键概念及调度策略、Cluster集群模式特性
- docker安装
- spring 代码中,解决docker环境变量传递问题
- Docker网桥模式ping不通宿主机
- Docker搭建私有镜像仓库与WordPress