1.通过容器ip访问
容器重启后,ip会发生变化。通过容器ip访问不是一个好的方案。通过使用容器的ip地址来通信,会导致ip地址的硬编码,不方便迁移,并且容器重启后ip地址会改变,除非使用固定的ip。
2.通过宿主机的ip:port访问
通过宿主机的ip:port访问,通过宿主机的ip加上容器暴露出的端口号来通信,通信方式比较单一,只能依靠监听在暴露出的端口的进程来进行有限的通信。
3.通过link建立连接(官方不推荐使用)
运行容器时,指定参数link,使得源容器与被链接的容器可以进行相互通信,并且接受的容器可以获得源容器的一些数据,比如:环境变量。通过docker的link机制可以通过一个name来和另一个容器通信,link机制方便了容器去发现其它的容器,并且可以安全的传递一些连接信息给其它的容器。
4.通过 User-defined networks(推荐)
docker network来创建一个桥接网络,在docker run的时候将容器指定到新创建的桥接网络中,这样同一桥接网络中的容器就可以通过互相访问。
创建网络
docker network create test-network
启动容器时,加入创建的网络
docker run -it --network test-network --network-alias mysql -e MYSQL_ROOT_PASSWORD=123 mysql:5.7
启动被链接的容器
docker run -it --network test-network --network-alias centos centos /bin/bash
西部数码的容器云是通过docker技术,在集群服务器上部署容器服务实现,安全可靠,拥有上万Linux镜像,功能强大、轻量灵活,可轻松作集群服务,自由轻松搭建私有网络。
高性价比的容器云产品链接 https://www.west.cn/paas/container/