同樣是兩台伺服器:
準備工作:
設定容器的主機名
consul:kv型別的儲存資料庫(key:value)docker01上:docker01、02上:
vim /etc/docker/daemon.json
vim /etc/docker/daemon.json
vim /usr/lib/systemd/system/docker.service
execstart=/usr/bin/dockerd --containerd=/run/containerd/containerd.sock 這行改成這樣,兩台的都要改
systemctl daemon-reload
systemctl restart docker
docker run -d -p 8500:8500 -h consul --name consul progrium/consul -server -bootstrap 這條命令在設定容器的主機名之後做最後在頁面上訪問:[root@docker1 centos_zabbix]# docker images
repository tag image id created size
10.0.0.11:5000/kode v2 6914fda5fd44 4 hours ago 502mb
kode v2 6914fda5fd44 4 hours ago 502mb
10.0.0.11:5000/centos6.9_nginx_ssh v3 92b1087df3f5 13 hours ago 431mb
centos6.9_nginx_ssh v3 92b1087df3f5 13 hours ago 431mb
centos6.9_nginx_ssh v2 6307e23ee16d 13 hours ago 431mb
b94c822488f9 13 hours ago 431mb
centos6.9_nginx_ssh v1 f01eeebf918a 13 hours ago 431mb
54167f1d659b 13 hours ago 431mb
71474e616504 13 hours ago 430mb
centos6.9_ssh v2 03387f99f022 14 hours ago 307mb
82d0e9ce844b 14 hours ago 195mb
kode v1 c0f486ac58fe 15 hours ago 536mb
progrium/consul latest 09ea64205e55 4 years ago 69.4mb 這裡有了
[root@docker1 centos_zabbix]# docker ps -a
container id image command created status ports names
1016753ee64d progrium/consul "/bin/start -server …" 4 minutes ago exited (255) 3 minutes ago 53/tcp, 53/udp, 8300-8302/tcp, 8400/tcp, 8301-8302/udp, 0.0.0.0:8500->8500/tcp consul
2)建立overlay網路
docker network create -d overlay --subnet 172.16.1.0/24 --gateway 172.16.1.254 ol1 這個網段不能和宿主機上相同,並且隨便在一台上執行這個命令即可檢視容器的網路,有沒有出現overlay
[root@docker1 shell]# docker network ls3)啟動容器測試network id name driver scope
e480a4fe5f4b bridge bridge local
0a3cbfe2473f host host local
4e5ccdc657e1 macvlan_1 macvlan local
aab77f02a0b1 none null local
8ae111afded7 ol1 overlay global
一台上:真實原理:docker run -it --network ol1 --name test01 centos6.9_ssh:v2 /bin/bash
另外一台上:
docker run -it --network ol1 --name test02 centos6.9_ssh:v2 /bin/bash
之後可以通過test01和test02之間聯通
容器跨主機通訊之NAT
nat分為dnat和snat,更多看 預設情況下,容器可以主動訪問到外部網路的連線,但是外部網路無法訪問到容器。1,container outside 容器所有到外部網路的連線,源位址都會被nat成本地系統的ip位址。這是使用 iptables 的源位址偽裝操作實現的。sudo iptables t...
Docker容器跨主機通訊
兩台主機上的docker容器直接通過ip位址進行通訊 各項配置如下 docker version 1.13.1 ip資訊根據個人需求部署 主機1的ip位址為 192.168.1.128 主機2的ip位址為 192.168.1.129 為主機1上的docker容器分配的子網 172.17.1.0 24...
docker跨主機容器通訊
docker 網路模式詳解 路由器位址192.168.1.1用route n檢視 parent enp7s0的乙太網名用ifcofig查詢 apt install net tools iputils ping ydocker network create driver macvlan subnet ...