昨天见到一个容器名称解析的问题,突然回想起几年前自己刚开始使用docker时,遇到的第一个问题linux查看磁盘空间,就是docker容器之间通过hostname相互访问的问题。

刚开始使用docker时,只是尝试着在命令行下使用docker启动单个容器。假如有服务组的需求,就将服务组内的各个服务分别用单个容器启动,于是遇到第一个问题:容器启动时,使用的都是动态分配到的IP,服务之间通过哪些样的名称和地址来访问彼此呢?
最容易想到的第一个方案,就是固定IP地址。于是晓得了固定IP地址的命令操作,于是晓得了固定IP地址是从那个版本才开始具备。

于是会困惑,莫非不仅固定IP,就不能用名子吗?假如每位容器都用的是自己的/etc/hosts文件,能不能让它们共用宿主机的hosts文件呢?
其实,事实上动态更改宿主机的/etc/hosts文件docker dionaea,无助于满足动态变化的容器之间的名称引用。于是就晓得了解决这个问题的上策:

使用容器编排文件docker-compose.yml来启动微服务组。在编排内启动的微服务之间,可以使用彼此的服务名称来彼此访问和沟通linux怎么读,而无需关注每次启动后,其IP是否会变化。
学会使用这个方法后docker dionaea,容器经验值就此原地+10分。

于是很容易都会遇到第二个问题:不同容器编排文件之间的服务,如何跨组访问名称呢?
