新聞中心
docker容器間如何通信
docker容器間如何通信?docker容器之間通信的主要方式有以下幾種:
1.通過(guò)容器ip訪問(wèn)
容器重啟后,ip會(huì)發(fā)生變化。通過(guò)容器ip訪問(wèn)不是一個(gè)好的方案。通過(guò)使用容器的ip地址來(lái)通信,會(huì)導(dǎo)致ip地址的硬編碼,不方便遷移,并且容器重啟后ip地址會(huì)改變,除非使用固定的ip。
2.通過(guò)宿主機(jī)的ip:port訪問(wèn)
通過(guò)宿主機(jī)的ip:port訪問(wèn),通過(guò)宿主機(jī)的ip加上容器暴露出的端口號(hào)來(lái)通信,通信方式比較單一,只能依靠監(jiān)聽(tīng)在暴露出的端口的進(jìn)程來(lái)進(jìn)行有限的通信。
3.通過(guò)link建立連接(官方不推薦使用)
運(yùn)行容器時(shí),指定參數(shù)link,使得源容器與被鏈接的容器可以進(jìn)行相互通信,并且接受的容器可以獲得源容器的一些數(shù)據(jù),比如:環(huán)境變量。通過(guò)docker的link機(jī)制可以通過(guò)一個(gè)name來(lái)和另一個(gè)容器通信,link機(jī)制方便了容器去發(fā)現(xiàn)其它的容器,并且可以安全的傳遞一些連接信息給其它的容器。
4.通過(guò) User-defined?networks(推薦)
docker network來(lái)創(chuàng)建一個(gè)橋接網(wǎng)絡(luò),在docker run的時(shí)候?qū)⑷萜髦付ǖ叫聞?chuàng)建的橋接網(wǎng)絡(luò)中,這樣同一橋接網(wǎng)絡(luò)中的容器就可以通過(guò)互相訪問(wèn)。
創(chuàng)建網(wǎng)絡(luò)
docker network create test-network
啟動(dòng)容器時(shí),加入創(chuàng)建的網(wǎng)絡(luò)
docker run -it --network test-network --network-alias mysql -e MYSQL_ROOT_PASSWORD=123 mysql:5.7
啟動(dòng)被鏈接的容器
docker run -it --network test-network --network-alias centos centos /bin/bash
無(wú)憂主機(jī)的容器云是通過(guò)docker技術(shù),在集群服務(wù)器上部署容器服務(wù)實(shí)現(xiàn),安全可靠,擁有上萬(wàn)Linux鏡像,功能強(qiáng)大、輕量靈活,可輕松作集群服務(wù),自由輕松搭建私有網(wǎng)絡(luò)。
高性價(jià)比的容器云產(chǎn)品鏈接
本文地址:http://www.gle-technology.com/news/31173.html