亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

目錄 搜尋
Compose About versions and upgrading (Compose) ASP.NET Core + SQL Server on Linux (Compose) CLI environment variables (Compose) Command-line completion (Compose) Compose(組成) Compose command-line reference(組合命令行參考) Control startup order (Compose) Django and PostgreSQL (Compose) Docker stacks and distributed application bundles (Compose) docker-compose build(docker-compose構(gòu)建) docker-compose bundle docker-compose config docker-compose create docker-compose down docker-compose events docker-compose exec docker-compose help docker-compose images docker-compose kill docker-compose logs docker-compose pause docker-compose port docker-compose ps docker-compose pull docker-compose push docker-compose restart docker-compose rm docker-compose run docker-compose scale docker-compose start docker-compose stop docker-compose top docker-compose unpause docker-compose up Environment file (Compose) Environment variables in Compose Extend services in Compose Frequently asked questions (Compose) Getting started (Compose) Install Compose Link environment variables (deprecated) (Compose) Networking in Compose Overview of Docker Compose Overview of docker-compose CLI Quickstart: Compose and WordPress Rails and PostgreSQL (Compose) Sample apps with Compose Using Compose in production Using Compose with Swarm Engine .NET Core application (Engine) About images, containers, and storage drivers (Engine) Add nodes to the swarm (Engine) Apply custom metadata (Engine) Apply rolling updates (Engine) apt-cacher-ng Best practices for writing Dockerfiles (Engine) Binaries (Engine) Bind container ports to the host (Engine) Breaking changes (Engine) Build your own bridge (Engine) Configure container DNS (Engine) Configure container DNS in user-defined networks (Engine) CouchDB (Engine) Create a base image (Engine) Create a swarm (Engine) Customize the docker0 bridge (Engine) Debian (Engine) Default bridge network Delete the service (Engine) Deploy a service (Engine) Deploy services to a swarm (Engine) Deprecated Engine features Docker container networking (Engine) Docker overview (Engine) Docker run reference (Engine) Dockerfile reference (Engine) Dockerize an application Drain a node (Engine) Engine FAQ (Engine) Fedora (Engine) Get started (Engine) Get started with macvlan network driver (Engine) Get started with multi-host networking (Engine) How nodes work (Engine) How services work (Engine) Image management (Engine) Inspect the service (Engine) Install Docker (Engine) IPv6 with Docker (Engine) Join nodes to a swarm (Engine) Legacy container links (Engine) Lock your swarm (Engine) Manage nodes in a swarm (Engine) Manage sensitive data with Docker secrets (Engine) Manage swarm security with PKI (Engine) Manage swarm service networks (Engine) Migrate to Engine 1.10 Optional Linux post-installation steps (Engine) Overview (Engine) PostgreSQL (Engine) Raft consensus in swarm mode (Engine) Riak (Engine) Run Docker Engine in swarm mode Scale the service (Engine) SDKs (Engine) Select a storage driver (Engine) Set up for the tutorial (Engine) SSHd (Engine) Storage driver overview (Engine) Store service configuration data (Engine) Swarm administration guide (Engine) Swarm mode key concepts (Engine) Swarm mode overlay network security model (Engine) Swarm mode overview (Engine) Understand container communication (Engine) Use multi-stage builds (Engine) Use swarm mode routing mesh (Engine) Use the AUFS storage driver (Engine) Use the Btrfs storage driver (Engine) Use the Device mapper storage driver (Engine) Use the OverlayFS storage driver (Engine) Use the VFS storage driver (Engine) Use the ZFS storage driver (Engine) Engine: Admin Guide Amazon CloudWatch logs logging driver (Engine) Bind mounts (Engine) Collect Docker metrics with Prometheus (Engine) Configuring and running Docker (Engine) Configuring logging drivers (Engine) Control and configure Docker with systemd (Engine) ETW logging driver (Engine) Fluentd logging driver (Engine) Format command and log output (Engine) Google Cloud logging driver (Engine) Graylog Extended Format (GELF) logging driver (Engine) Journald logging driver (Engine) JSON File logging driver (Engine) Keep containers alive during daemon downtime (Engine) Limit a container's resources (Engine) Link via an ambassador container (Engine) Log tags for logging driver (Engine) Logentries logging driver (Engine) PowerShell DSC usage (Engine) Prune unused Docker objects (Engine) Run multiple services in a container (Engine) Runtime metrics (Engine) Splunk logging driver (Engine) Start containers automatically (Engine) Storage overview (Engine) Syslog logging driver (Engine) tmpfs mounts Troubleshoot volume problems (Engine) Use a logging driver plugin (Engine) Using Ansible (Engine) Using Chef (Engine) Using Puppet (Engine) View a container's logs (Engine) Volumes (Engine) Engine: CLI Daemon CLI reference (dockerd) (Engine) docker docker attach docker build docker checkpoint docker checkpoint create docker checkpoint ls docker checkpoint rm docker commit docker config docker config create docker config inspect docker config ls docker config rm docker container docker container attach docker container commit docker container cp docker container create docker container diff docker container exec docker container export docker container inspect docker container kill docker container logs docker container ls docker container pause docker container port docker container prune docker container rename docker container restart docker container rm docker container run docker container start docker container stats docker container stop docker container top docker container unpause docker container update docker container wait docker cp docker create docker deploy docker diff docker events docker exec docker export docker history docker image docker image build docker image history docker image import docker image inspect docker image load docker image ls docker image prune docker image pull docker image push docker image rm docker image save docker image tag docker images docker import docker info docker inspect docker kill docker load docker login docker logout docker logs docker network docker network connect docker network create docker network disconnect docker network inspect docker network ls docker network prune docker network rm docker node docker node demote docker node inspect docker node ls docker node promote docker node ps docker node rm docker node update docker pause docker plugin docker plugin create docker plugin disable docker plugin enable docker plugin inspect docker plugin install docker plugin ls docker plugin push docker plugin rm docker plugin set docker plugin upgrade docker port docker ps docker pull docker push docker rename docker restart docker rm docker rmi docker run docker save docker search docker secret docker secret create docker secret inspect docker secret ls docker secret rm docker service docker service create docker service inspect docker service logs docker service ls docker service ps docker service rm docker service scale docker service update docker stack docker stack deploy docker stack ls docker stack ps docker stack rm docker stack services docker start docker stats docker stop docker swarm docker swarm ca docker swarm init docker swarm join docker swarm join-token docker swarm leave docker swarm unlock docker swarm unlock-key docker swarm update docker system docker system df docker system events docker system info docker system prune docker tag docker top docker unpause docker update docker version docker volume docker volume create docker volume inspect docker volume ls docker volume prune docker volume rm docker wait Use the Docker command line (Engine) Engine: Extend Access authorization plugin (Engine) Docker log driver plugins Docker network driver plugins (Engine) Extending Engine with plugins Managed plugin system (Engine) Plugin configuration (Engine) Plugins API (Engine) Volume plugins (Engine) Engine: Security AppArmor security profiles for Docker (Engine) Automation with content trust (Engine) Content trust in Docker (Engine) Delegations for content trust (Engine) Deploying Notary (Engine) Docker security (Engine) Docker security non-events (Engine) Isolate containers with a user namespace (Engine) Manage keys for content trust (Engine) Play in a content trust sandbox (Engine) Protect the Docker daemon socket (Engine) Seccomp security profiles for Docker (Engine) Secure Engine Use trusted images Using certificates for repository client verification (Engine) Engine: Tutorials Engine tutorials Network containers (Engine) Get Started Part 1: Orientation Part 2: Containers Part 3: Services Part 4: Swarms Part 5: Stacks Part 6: Deploy your app Machine Amazon Web Services (Machine) Digital Ocean (Machine) docker-machine active docker-machine config docker-machine create docker-machine env docker-machine help docker-machine inspect docker-machine ip docker-machine kill docker-machine ls docker-machine provision docker-machine regenerate-certs docker-machine restart docker-machine rm docker-machine scp docker-machine ssh docker-machine start docker-machine status docker-machine stop docker-machine upgrade docker-machine url Driver options and operating system defaults (Machine) Drivers overview (Machine) Exoscale (Machine) Generic (Machine) Get started with a local VM (Machine) Google Compute Engine (Machine) IBM Softlayer (Machine) Install Machine Machine Machine CLI overview Machine command-line completion Machine concepts and help Machine overview Microsoft Azure (Machine) Microsoft Hyper-V (Machine) Migrate from Boot2Docker to Machine OpenStack (Machine) Oracle VirtualBox (Machine) Provision AWS EC2 instances (Machine) Provision Digital Ocean Droplets (Machine) Provision hosts in the cloud (Machine) Rackspace (Machine) VMware Fusion (Machine) VMware vCloud Air (Machine) VMware vSphere (Machine) Notary Client configuration (Notary) Common Server and signer configurations (Notary) Getting started with Notary Notary changelog Notary configuration files Running a Notary service Server configuration (Notary) Signer configuration (Notary) Understand the service architecture (Notary) Use the Notary client
文字

Docker群體會生成兩種不同的流量:

  • 控制和管理平面流量:這包括群管理消息,例如加入或離開群體的請求。此流量始終加密。

  • 應(yīng)用程序數(shù)據(jù)平面流量:這包括集裝箱流量和往返于外部客戶端的流量。

本主題討論如何管理群集服務(wù)的應(yīng)用程序數(shù)據(jù)。有關(guān)通用群集網(wǎng)絡(luò)的更多詳細(xì)信息,請參閱Docker網(wǎng)絡(luò)參考架構(gòu)。

以下三種網(wǎng)絡(luò)概念對群集服務(wù)非常重要:

  • 覆蓋網(wǎng)絡(luò)管理參與群集的Docker守護(hù)進(jìn)程之間的通信。您可以創(chuàng)建覆蓋網(wǎng)絡(luò),與獨(dú)立容器的用戶定義網(wǎng)絡(luò)相同。您也可以將服務(wù)附加到一個(gè)或多個(gè)現(xiàn)有覆蓋網(wǎng)絡(luò),以啟用服務(wù)到服務(wù)的通信。覆蓋網(wǎng)絡(luò)是使用overlay網(wǎng)絡(luò)驅(qū)動程序的Docker網(wǎng)絡(luò)。

  • 入口網(wǎng)絡(luò)是一個(gè)特殊的覆蓋網(wǎng)絡(luò),便于服務(wù)的節(jié)點(diǎn)之間的負(fù)載均衡。當(dāng)任何swarm節(jié)點(diǎn)在已發(fā)布的端口上收到請求時(shí),它將該請求交給一個(gè)名為的模塊IPVS。IPVS跟蹤參與該服務(wù)的所有IP地址,選擇其中的一個(gè),并通過ingress網(wǎng)絡(luò)將請求路由到它。該ingress網(wǎng)絡(luò)時(shí)自動創(chuàng)建初始化或加入一個(gè)群。大多數(shù)用戶不需要定制其配置,但Docker 17.05和更高版本允許您這樣做。

  • docker_gwbridge是一個(gè)橋接網(wǎng)絡(luò)連接覆蓋網(wǎng)(包括ingress網(wǎng)絡(luò))到單個(gè)碼頭工人守護(hù)進(jìn)程的物理網(wǎng)絡(luò)。默認(rèn)情況下,服務(wù)運(yùn)行的每個(gè)容器都連接到其本地Docker守護(hù)程序主機(jī)的docker_gwbridge網(wǎng)絡(luò)。該docker_gwbridge網(wǎng)絡(luò)時(shí)自動創(chuàng)建初始化或加入一個(gè)群。大多數(shù)用戶不需要定制其配置,但是Docker允許您這樣做。

防火墻考慮

參與swarm的Docker守護(hù)進(jìn)程需要通過以下端口相互通信的能力:

  • 端口7946TCP / UDP用于容器網(wǎng)絡(luò)發(fā)現(xiàn)。

  • 4789容器覆蓋網(wǎng)絡(luò)的端口UDP。

創(chuàng)建一個(gè)覆蓋網(wǎng)絡(luò)

要創(chuàng)建覆蓋網(wǎng)絡(luò),請overlay在使用該docker network create命令時(shí)指定驅(qū)動程序:

$ docker network create \  --driver overlay \
  my-network

上述命令沒有指定任何自定義選項(xiàng),所以Docker分配一個(gè)子網(wǎng)并使用默認(rèn)選項(xiàng)。您可以看到有關(guān)使用網(wǎng)絡(luò)的信息docker network inspect。

當(dāng)沒有容器連接到覆蓋網(wǎng)絡(luò)時(shí),其配置并不令人興奮:

$ docker network inspect my-network[    {        "Name": "my-network",        "Id": "fsf1dmx3i9q75an49z36jycxd",        "Created": "0001-01-01T00:00:00Z",        "Scope": "swarm",        "Driver": "overlay",        "EnableIPv6": false,        "IPAM": {            "Driver": "default",            "Options": null,            "Config": []        },        "Internal": false,        "Attachable": false,        "Ingress": false,        "Containers": null,        "Options": {            "com.docker.network.driver.overlay.vxlanid_list": "4097"        },        "Labels": null    }]

在上面的輸出中,請注意,驅(qū)動程序是覆蓋的,并且范圍是swarm,而不是您可能在其他類型的Docker網(wǎng)絡(luò)中看到的本地,主機(jī)或全局范圍。 該范圍表示只有參與群體的主機(jī)才能訪問此網(wǎng)絡(luò)。

網(wǎng)絡(luò)的子網(wǎng)和網(wǎng)關(guān)是在服務(wù)首次連接到網(wǎng)絡(luò)時(shí)動態(tài)配置的。以下示例顯示了與上述相同的網(wǎng)絡(luò),但有三個(gè)容器的redis服務(wù)連接到它。

$ docker network inspect my-network[    {        "Name": "my-network",        "Id": "fsf1dmx3i9q75an49z36jycxd",        "Created": "2017-05-31T18:35:58.877628262Z",        "Scope": "swarm",        "Driver": "overlay",        "EnableIPv6": false,        "IPAM": {            "Driver": "default",            "Options": null,            "Config": [                {                    "Subnet": "10.0.0.0/24",                    "Gateway": "10.0.0.1"                }            ]        },        "Internal": false,        "Attachable": false,        "Ingress": false,        "Containers": {            "0e08442918814c2275c31321f877a47569ba3447498db10e25d234e47773756d": {                "Name": "my-redis.1.ka6oo5cfmxbe6mq8qat2djgyj",                "EndpointID": "950ce63a3ace13fe7ef40724afbdb297a50642b6d47f83a5ca8636d44039e1dd",                "MacAddress": "02:42:0a:00:00:03",                "IPv4Address": "10.0.0.3/24",                "IPv6Address": ""            },            "88d55505c2a02632c1e0e42930bcde7e2fa6e3cce074507908dc4b827016b833": {                "Name": "my-redis.2.s7vlybipal9xlmjfqnt6qwz5e",                "EndpointID": "dd822cb68bcd4ae172e29c321ced70b731b9994eee5a4ad1d807d9ae80ecc365",                "MacAddress": "02:42:0a:00:00:05",                "IPv4Address": "10.0.0.5/24",                "IPv6Address": ""            },            "9ed165407384f1276e5cfb0e065e7914adbf2658794fd861cfb9b991eddca754": {                "Name": "my-redis.3.hbz3uk3hi5gb61xhxol27hl7d",                "EndpointID": "f62c686a34c9f4d70a47b869576c37dffe5200732e1dd6609b488581634cf5d2",                "MacAddress": "02:42:0a:00:00:04",                "IPv4Address": "10.0.0.4/24",                "IPv6Address": ""            }        },        "Options": {            "com.docker.network.driver.overlay.vxlanid_list": "4097"        },        "Labels": {},        "Peers": [            {                "Name": "moby-e57c567e25e2",                "IP": "192.168.65.2"            }        ]    }]

自定義覆蓋網(wǎng)絡(luò)

有些情況下,您不想使用覆蓋網(wǎng)絡(luò)的默認(rèn)配置。有關(guān)可配置選項(xiàng)的完整列表,請運(yùn)行該命令docker network create --help。以下是一些最常見的更改選項(xiàng)。

配置子網(wǎng)和網(wǎng)關(guān)

默認(rèn)情況下,網(wǎng)絡(luò)的子網(wǎng)和網(wǎng)關(guān)在第一個(gè)服務(wù)連接到網(wǎng)絡(luò)時(shí)自動配置。使用--subnet--gateway標(biāo)志創(chuàng)建網(wǎng)絡(luò)時(shí),您可以配置這些設(shè)置。以下示例通過配置子網(wǎng)和網(wǎng)關(guān)擴(kuò)展了前一個(gè)示例。

$ docker network create \  --driver overlay \  --subnet 10.0.9.0/24 \  --gateway 10.0.9.99 \
  my-network

配置應(yīng)用程序數(shù)據(jù)的加密

與群體有關(guān)的管理和控制平面數(shù)據(jù)始終是加密的。有關(guān)加密機(jī)制的更多詳細(xì)信息,請參閱Docker群集模式覆蓋網(wǎng)絡(luò)安全模型。

swarm節(jié)點(diǎn)之間的應(yīng)用程序數(shù)據(jù)默認(rèn)不加密。要在給定的覆蓋網(wǎng)絡(luò)上加密此流量,請使用此--opt encrypted標(biāo)志docker network create。這使得vxlan級別的IPSEC加密成為可能。這種加密會帶來不可忽視的性能損失,所以您應(yīng)該在生產(chǎn)中使用它之前對其進(jìn)行測試。

將服務(wù)附加到覆蓋網(wǎng)絡(luò)

要將服務(wù)附加到現(xiàn)有的重疊網(wǎng)絡(luò),請將--network標(biāo)志傳遞給docker service create或?qū)?code>--network-add標(biāo)志傳遞給docker service update。

$ docker service create \  --replicas 3 \  --name my-web \  --network my-network \
  nginx

連接到覆蓋網(wǎng)絡(luò)的服務(wù)容器可以通過它相互通信。

要查看服務(wù)連接到哪個(gè)網(wǎng)絡(luò),請使用docker服務(wù)ls查找服務(wù)的名稱,然后使用docker service ps <service-name>列出網(wǎng)絡(luò)。 或者,要查看哪些服務(wù)的容器連接到網(wǎng)絡(luò),請使用docker網(wǎng)絡(luò)檢查<network-name>。 您可以從任何加入到swarm并處于運(yùn)行狀態(tài)的swarm節(jié)點(diǎn)運(yùn)行這些命令。

配置服務(wù)發(fā)現(xiàn)

服務(wù)發(fā)現(xiàn)是Docker用來將來自服務(wù)的外部客戶端的請求路由到單個(gè)群集節(jié)點(diǎn)的機(jī)制,無需客戶端需要知道有多少節(jié)點(diǎn)參與服務(wù)或其IP地址或端口。您不需要發(fā)布在同一網(wǎng)絡(luò)上的服務(wù)之間使用的端口。例如,如果您有一個(gè)將其數(shù)據(jù)存儲在MySQL服務(wù)中的WordPress服務(wù),并且它們連接到相同的覆蓋網(wǎng)絡(luò),則不需要將MySQL端口發(fā)布到客戶端,只需發(fā)布WordPress HTTP端口。

使用虛擬IP(VIP)或DNS循環(huán)(DNSRR),服務(wù)發(fā)現(xiàn)可以以兩種不同的方式工作。您可以配置此服務(wù)。

  • 默認(rèn)情況下,當(dāng)您將服務(wù)附加到網(wǎng)絡(luò)并且該服務(wù)發(fā)布一個(gè)或多個(gè)端口時(shí),Docker會為該服務(wù)分配一個(gè)虛擬IP(VIP),這是客戶端到達(dá)該服務(wù)的“前端”。Docker保存服務(wù)中所有工作節(jié)點(diǎn)的列表,并在客戶端和其中一個(gè)節(jié)點(diǎn)之間路由請求。來自客戶端的每個(gè)請求可能會路由到不同的節(jié)點(diǎn)。

  • 如果您將服務(wù)配置為使用DNS輪詢(DNSRR)服務(wù)發(fā)現(xiàn),則不會有單個(gè)虛擬IP。相反,Docker會為服務(wù)設(shè)置DNS條目,以便服務(wù)名稱的DNS查詢返回一個(gè)IP地址列表,并且客戶端直接連接到其中的一個(gè)。在您想使用自己的負(fù)載均衡器的情況下,DNS循環(huán)法很有用。要配置服務(wù)以使用DNSRR,請--endpoint-mode dnsrr在創(chuàng)建新服務(wù)或更新現(xiàn)有服務(wù)時(shí)使用該標(biāo)志。

自定義入口網(wǎng)絡(luò)

大多數(shù)用戶從不需要配置ingress網(wǎng)絡(luò),但Docker 17.05和更高版本允許您這樣做。如果自動選擇的子網(wǎng)與網(wǎng)絡(luò)中已存在的子網(wǎng)沖突,或者需要自定義其他低級網(wǎng)絡(luò)設(shè)置(如MTU),則此功能非常有用。

定制ingress網(wǎng)絡(luò)涉及到刪除和重新創(chuàng)建網(wǎng)絡(luò)。這通常在群體中創(chuàng)建任何服務(wù)之前完成。如果您有現(xiàn)有的發(fā)布端口的服務(wù),則需要先刪除這些服務(wù),然后才能刪除ingress網(wǎng)絡(luò)。

在沒有ingress網(wǎng)絡(luò)存在的時(shí)間內(nèi),不發(fā)布端口的現(xiàn)有服務(wù)將繼續(xù)運(yùn)行,但沒有負(fù)載平衡。這會影響發(fā)布端口的服務(wù),例如發(fā)布端口80的WordPress服務(wù)。

  1. 使用檢查ingress網(wǎng)絡(luò)docker network inspect ingress,并刪除任何容器連接到它的服務(wù)。這些是發(fā)布端口的服務(wù),例如發(fā)布端口80的WordPress服務(wù)。如果所有這些服務(wù)都未停止,則下一步將失敗。

  2. 刪除現(xiàn)有的ingress網(wǎng)絡(luò):$ docker network rm ingress警告!在刪除路由網(wǎng)格網(wǎng)絡(luò)之前,請確保群集中的所有節(jié)點(diǎn)運(yùn)行相同的碼頭引擎版本。否則,刪除可能無效,新建入口網(wǎng)絡(luò)的功能將受到影響。你確定你要繼續(xù)嗎?Y / N

  3. 使用該--ingress標(biāo)志創(chuàng)建一個(gè)新的覆蓋網(wǎng)絡(luò),以及要設(shè)置的自定義選項(xiàng)。本示例將MTU設(shè)置為1200,將子網(wǎng)設(shè)置為10.11.0.0/16,并將網(wǎng)關(guān)設(shè)置為10.11.0.2。$ docker network create \ -d overlay \ --ingress \ --subnet = 10.11.0.0 / 16 \ --gateway = 10.11.0.2 \ --opt com.docker.network.mtu = 1200 \ my-ingress   注意:您可以為你的ingress網(wǎng)絡(luò)命名除了ingress,但你只能有一個(gè)。嘗試創(chuàng)建第二個(gè)將失敗。

  4. 重新啟動您在第一步中停止的服務(wù)。

自定義docker_gwbridge

docker_gwbridge是一個(gè)將覆蓋網(wǎng)絡(luò)(包括ingress網(wǎng)絡(luò))連接到單獨(dú)的Docker守護(hù)進(jìn)程物理網(wǎng)絡(luò)的虛擬橋。當(dāng)您初始化群集或?qū)ocker主機(jī)加入群集時(shí),Docker會自動創(chuàng)建它,但它不是Docker設(shè)備。它存在于Docker主機(jī)的內(nèi)核中。如果您需要自定義其設(shè)置,則必須在將Docker主機(jī)加入群集之前或臨時(shí)從群集中暫時(shí)刪除主機(jī)之后執(zhí)行此操作。

您需要brctl在您的操作系統(tǒng)上安裝該應(yīng)用程序才能刪除現(xiàn)有的網(wǎng)橋。包名是bridge-utils。

  1. 停止Docker。

  2. 使用該brctl show docker_gwbridge命令檢查是否存在調(diào)用的橋接設(shè)備docker_gwbridge。如果是這樣,請使用它brctl delbr docker_gwbridge。

  3. 啟動Docker。不要加入或初始化群體。

  4. docker_gwbridge使用您的自定義設(shè)置創(chuàng)建或重新創(chuàng)建橋梁。本例使用子網(wǎng)10.11.0.0/16。有關(guān)可自定義選項(xiàng)的完整列表,請參閱橋接驅(qū)動程序選項(xiàng)。$ docker network create \ --subnet 10.11.0.0/16 \ --opt com.docker.network.bridge.name = docker_gwbridge \ --opt com.docker.network.bridge.enable_icc = false \ docker_gwbridge

  5. 初始化或加入群。

使用單獨(dú)的界面進(jìn)行控制和數(shù)據(jù)通信

默認(rèn)情況下,所有swarm流量都通過相同的接口發(fā)送,包括控制和管理流量,以維護(hù)swarm本身以及數(shù)據(jù)流量進(jìn)出服務(wù)容器。

在Docker 17.06及更高版本中,可以--datapath-addr在初始化或加入群集時(shí)通過傳遞該標(biāo)志來分隔此流量。如果有多個(gè)接口,則--advertise-addr必須明確指定,如果未指定--datapath-addr--advertise-addr則默認(rèn)為。關(guān)于加入,離開和管理群的--advertise-addr流量將通過接口發(fā)送,并且服務(wù)容器之間的流量將通過--datapath-addr接口發(fā)送。這些標(biāo)志可以采用IP地址或網(wǎng)絡(luò)設(shè)備名稱,例如eth0。

這個(gè)例子初始化一個(gè)獨(dú)立的swarm --datapath-addr。它假定您的Docker主機(jī)有兩個(gè)不同的網(wǎng)絡(luò)接口:10.0.0.1應(yīng)該用于控制和管理流量,192.168.0.1應(yīng)該用于與服務(wù)相關(guān)的流量。

$ docker swarm init --advertise-addr 10.0.0.1 --datapath-addr 192.168.0.1

這個(gè)例子加入了由主機(jī)管理的swarm 192.168.99.100:2377,并將--advertise-addr標(biāo)志設(shè)置為eth0,并將--datapath-addr標(biāo)志設(shè)置為eth1。

$ docker swarm join \  --token SWMTKN-1-49nj1cmql0jkz5s954yi3oex3nedyz0fb0xx14ie39trti4wxv-8vxv8rssmk743ojnwacrr2d7c \  --advertise-addr eth0 \  --datapath-addr eth1 \  192.168.99.100:2377

擴(kuò)展內(nèi)容

  • 將服務(wù)部署到群集

  • 群體管理指南

  • Docker CLI參考

  • Swarm模式教程

  • Docker網(wǎng)絡(luò)參考架構(gòu)

上一篇: 下一篇: