【docker】ip 区分

来源:互联网 发布:东华软件面试题 编辑:程序博客网 时间:2024/06/06 14:27

dockerfile里的expose,指的是docker要为虚拟化环境即容器开启一个port,这个port也是我们容器内应用要用的port。这不等同于把port发布到外界。

要把port发布,需要使用run的-p参数或者使用docker-compose的ports参数,指定端口映射。这样docker就会把宿主的port数据转发到容器内expose的端口。


如果我们在宿主机的外部,想访问容器,只能使用宿主的ip+端口映射。

但是使用docker inspect命令可以得到容器的ip,这个ip是在宿主机内部使用的,也就是在容器构成的集群之间使用的,不可以在宿主机外部使用,外部只能端口映射。


另外,这里补充一点就是,新版本的docker-compose 里面配置的服务内部默认是联通的,而且我们可以直接使用servers的名字作为内部ip地址通讯,而不需要通过link参数来联通(官网上有写),这是容器内部之间通讯的一个比较好的手段,而不是基于ip,因为ip是会变化的。

原创粉丝点击