--endpoint-mode vip を指定しています。
外部からnginxにアクセスするために80番ポートを指定します。
service create
[root@docker01 ~]# docker service create --endpoint-mode vip --name demo-vip --replicas 1 -p 80:80 nginx bnbd8ngo3nf8yh6777gt7wg3c [root@docker01 ~]# docker service ls ID NAME REPLICAS IMAGE COMMAND bnbd8ngo3nf8 demo-vip 4/4 nginx [root@docker01 ~]#
Node(docker01)
[root@docker01 ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES fdae78c84d68 nginx:latest "nginx -g 'daemon off" 10 seconds ago Up 6 seconds 80/tcp, 443/tcp demo-vip.2.0iq40ti08fgikctn3p3n9hv51 c1d1cf20d956 nginx:latest "nginx -g 'daemon off" 10 seconds ago Up 7 seconds 80/tcp, 443/tcp demo-vip.3.8vyah0pp7e6d59k77079a72vn e316860eb322 weaveworks/scope:0.16.1 "/home/weave/entrypoi" 9 hours ago Up 9 hours weavescope [root@docker01 ~]# [root@docker01 ~]# docker network inspect ingress [ { "Name": "ingress", "Id": "46865yuyi768xtrjuh9eivj5i", "Scope": "swarm", "Driver": "overlay", "EnableIPv6": false, "IPAM": { "Driver": "default", "Options": null, "Config": [ { "Subnet": "10.255.0.0/16", "Gateway": "10.255.0.1" } ] }, "Internal": false, "Containers": { "c1d1cf20d9561579abbc5b4f5c3351417578271e362357369ff2af4feb7cc82a": { "Name": "demo-vip.3.8vyah0pp7e6d59k77079a72vn", "EndpointID": "9f255cd39bcefef5729cf5a3f7e97523ffc691146dc1b494d0c435558a7ee5e0", "MacAddress": "02:42:0a:ff:00:08", "IPv4Address": "10.255.0.8/16", "IPv6Address": "" }, "fdae78c84d680f75f32d48d2334cc22ed31649d93614860e8ba5ce89d21a074e": { "Name": "demo-vip.2.0iq40ti08fgikctn3p3n9hv51", "EndpointID": "94d025123ee666d06fd9fab9adc347150141ecc7a6987ec9633c0cf403b71391", "MacAddress": "02:42:0a:ff:00:07", "IPv4Address": "10.255.0.7/16", "IPv6Address": "" }, "ingress-sbox": { "Name": "ingress-endpoint", "EndpointID": "f32b20caf7e4b2fae7bb85ccfde65807db8340d67446d46172ecff7be12ea739", "MacAddress": "02:42:0a:ff:00:03", "IPv4Address": "10.255.0.3/16", "IPv6Address": "" } }, "Options": { "com.docker.network.driver.overlay.vxlanid_list": "256" }, "Labels": {} } ] [root@docker01 ~]#
Node(docker02)
[root@docker02 ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 94e805d204e7 nginx:latest "nginx -g 'daemon off" 16 seconds ago Up 14 seconds 80/tcp, 443/tcp demo-vip.4.69wejbaast6tnddx7s5vwqyto a8715e252eec nginx:latest "nginx -g 'daemon off" 33 seconds ago Up 33 seconds 80/tcp, 443/tcp demo-vip.1.a76mxysg10zfj79rpm327be46 [root@docker02 ~]# [root@docker02 ~]# docker network inspect ingress [ { "Name": "ingress", "Id": "46865yuyi768xtrjuh9eivj5i", "Scope": "swarm", "Driver": "overlay", "EnableIPv6": false, "IPAM": { "Driver": "default", "Options": null, "Config": [ { "Subnet": "10.255.0.0/16", "Gateway": "10.255.0.1" } ] }, "Internal": false, "Containers": { "94e805d204e7aa10964f2700bcde3c139fb81f25135ed25054653bd34660093c": { "Name": "demo-vip.4.69wejbaast6tnddx7s5vwqyto", "EndpointID": "5e08ad01f09ba191be8413849cd57b015d9a7c651a5a05cbab90b1aee492a484", "MacAddress": "02:42:0a:ff:00:09", "IPv4Address": "10.255.0.9/16", "IPv6Address": "" }, "a8715e252eec0b30ab83e82697c65266820d993fba6ab37590a9d5b6c6cf2030": { "Name": "demo-vip.1.a76mxysg10zfj79rpm327be46", "EndpointID": "2473f837bb66968f0380f5385051670a5e9b9caf20def5f2f72ab0ab61d02daf", "MacAddress": "02:42:0a:ff:00:06", "IPv4Address": "10.255.0.6/16", "IPv6Address": "" }, "ingress-sbox": { "Name": "ingress-endpoint", "EndpointID": "27389e4101d99f17e60077ed91c917b43043a9a2ad45bf08c121b9a5ea22536d", "MacAddress": "02:42:0a:ff:00:04", "IPv4Address": "10.255.0.4/16", "IPv6Address": "" } }, "Options": { "com.docker.network.driver.overlay.vxlanid_list": "256" }, "Labels": {} } ] [root@docker02 ~]#