7、Docker容器技术:拆分系统、管理服务与保存状态

Docker容器技术:拆分系统、管理服务与保存状态

1. 系统拆分为微服务容器

在使用Docker时,有两种方式可以构建容器:将容器作为一个整体(类似传统服务器),或者将系统尽可能拆分,使每个容器只运行一个“服务”,并通过链接将所有容器连接起来。

1.1 容器启动与“一容器一服务”原则

容器启动时类似于主机,会初始化一些服务,如cron和sshd,这对于刚接触Docker的工程师进行初始演示很有用。然而,这种方式是否违反“一容器一服务”的微服务原则在Docker社区存在争议。支持类主机镜像方法的人认为,容器仍然可以为其运行的系统完成单一离散功能,因此不违反该原则。

1.2 拆分系统的好处

在Docker中,通常建议将系统拆分为多个容器,每个容器运行一个服务。这样做的主要原因是通过单一职责原则更容易分离关注点。如果一个容器只做一项工作,那么在将该容器投入开发、测试和生产的软件开发生命周期时,就可以减少对其与其他组件交互的担忧,从而实现更敏捷的交付和更具扩展性的软件项目。不过,这也会带来管理开销,因此需要根据具体用例考虑是否值得。

1.3 拆分系统的实践

下面通过一个简单的PostgreSQL、NodeJS和Nginx应用示例来说明如何拆分系统:
- 整体式Dockerfile的问题

FROM ubuntu:14.04
RUN apt-get update && apt-get install postgresql nodejs npm 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值