一、容器端口映射
1.1. 外部通路容器
在啟動容器時候,如果不指定參數,在容器外部是無法通過網絡來通路容器内的服務的
當容器運作一些網絡服務的時候,我們可以通過指定-p或者-P參數來實作能夠讓外部通路的效果
- -P(大P) :Docker會随機映射一個49000~49900的端口到内部容器開放的網絡端口
- -p(小p): 可以指定要映射的端口,并且在一個指定端口上隻可以綁定一個容器
[root@rsync131 ~]# docker run -it -P -d --name web -v /opt/web/ centos
[root@rsync131 ~]# docker run -it -d -p 5000:5000 -v /opt/data/docker:/tmp/registry registry
1.2. 映射到指定位址的指定端口
可以使用IP:HostPort:ContainerPort格式指定映射使用一個特定的位址
[root@rsync131 ~]# docker run -it -d -p 127.0.0.1:2000:2000 centos
還可以綁定udp端口
[root@rsync131 ~]# docker run -it -d -p 127.0.0.1:2000:2000/udp centos
1.3. 映射到指定位址的任意端口
使用IP::ContainerPort綁定IP的任意端口到容器的2000端口,本地主機會自動的配置設定端口
[root@rsync131 ~]# docker run -it -d -p 127.0.0.1::2000 centos
1.4. 檢視映射端口的配置
使用docker port 指令來檢視目前映射的端口配置
[root@rsync131 ~]# docker port 6df20cdacf8d
5000/tcp -> 0.0.0.0:5000
容器有自己内部的IP和網絡,可以使用docker inspect + 容器名或者容器ID 檢視具體的資訊
二、容器與容器直接實作互聯
2.1. 自定義容器名
容器的連接配接系統是根據容器的名字來執行的,是以要先給容器起一個好記得名字
在使用docker run 建立容器的是 指定--name 來定義容器的名字
[root@rsync131 ~]# docker run -it -P -d --name web1 -v /opt/web:/opt/ centos
可以使用docker inspect 來看容器的名字
[root@rsync131 ~]# docker inspect -f "{{ .Name }}" 042d3c956715
/db8
2.2. 容器互聯
使用--link參數可以實作容器之間的安全互動
[root@rsync131 ~]# docker run -it -d -P --name link --link db1:db1 centos
作者:朱敬志
出處:https://www.cnblogs.com/zhujingzhi/
-------------------------------------------
個性簽名:在逆境中要看到生活的美,在希望中别忘記不斷奮鬥
如果覺得這篇文章對你有小小的幫助的話,記得在右下角點個“推薦”哦,部落客在此感謝!
萬水千山總是情,打賞一分行不行,是以如果你心情還比較高興,也是可以掃碼打賞部落客,哈哈哈(っ•̀ω•́)っ✎⁾⁾!
也可以關注我的微信公衆号,不定時更新技術文章(kubernetes,Devops,Python)等