docker 容器 服务关系是什么?容器化微服务应用的可用性管理是复杂的,因为有很多项需要衡量和跟踪。而且,衡量系统可用性需要一个良好定义的状态模型。对象状态需要在跨物理设施和软件实体间可管理、可关联和可传播。
使用合适的系统管理平台,才有可能衡量、跟踪并报告服务、应用或者环境的可用性。运维人员通过聚焦于服务可用性,可轻易地实现“信噪分离”,只关注影响服务的问题。
为了容器服务的可用性,我们需要知道关于docker容器构建和使用时的几件事。
1.不要过分依赖容器内部的IP地址
每个容器都有一个内部IP,这个IP不是固定的,我们启动docker容器或者停止容器的时候IP都会变。如果我们要让应用或者微服务模块在容器之间进行通信的话,正确的做法是通过设置环境变量来传递主机名和端口号。
2.建容器镜像的时候不要只建一层
大家都知道,Docker的文件系统是分层的,在建镜像的时候我们应该这么建,将操作系统单独建一层,作为基础镜像,然后用户名定义文件、运行时安装环境、配置文件都要分别建一层镜像,最后才是应用镜像层。这么做的话,我们以后重建、管理以及发布镜像的时候就要轻省多了。
3.给镜像打tag时不要只打“latest”
latest其实就相当于Maven里头的“快照”。因为容器的文件系统是分层的,我们很好是给镜像多打几个tag。
如果只有latest的话,可能过段时间我们再来运行应用程序的时候,就发现程序运行不起来了,因为应用的父层(就是Dockerfile里面的跟在FROM命令后面的那一层)被更新的版本覆盖了,而新版本又不能向下兼容。
还有可能就是从build cache里面取镜像的时候,取到了错的“latest”镜像。在产品环境中部署容器的时候也要避免使用latest,不然容易造成无法跟踪记录镜像版本的问题。
融亿云的容器云产品是通过docker技术,在集群服务器上部署容器服务实现,功能强大、简单易用,拥有上万linux镜像,秒级开通,高可用的的容器云