Original address: https://docs.docker.com/swarm/discovery/
Docker Swarm node found in three ways: Distributed key value Storage, node list, Docker Hub.
Note: The following "host discovery" is equivalent to "node discovery". Storage host discovery using distributed key values
It is recommended that the LIBKV project be
This is a creation in
Article, where the information may have evolved or changed.
main.goThe code is as follows:
package mainimport ( _ "github.com/docker/docker/pkg/discovery/file" _ "github.com/docker/docker/pkg/discovery/kv" _ "github.com/docker/
Tags: using the download LOB stderr results UAC easy-to-use DEP amp
The Docker swarm cluster has many monitoring options, and the Cadvisor+influxdb+grafana solution is powerful and flexible. The most important thing is that this program is open source, free, easy to use, is an inexpensive version of the monitoring program. Reference Document: https://botleg.com/stories/monitoring-
First, create a cluster1. Initialize the manager node (XXX is the manager's IP address)docker swarm init --advertise-addr xxx.xxx.xxx.xxxWill output the following, note Bold Italic command, join the cluster need to use
Swarm initialized:current Node (pk4p936t4e03cpse3izuws07s) is now a manager.To add a worker to this
if the container can get more running memory, such as Redis.
Machine failure can automatically deploy the container on the faulty machine to other nodes.
If the cluster adds a new machine, rebalance the container's allocation.
If the container fails, restart it.
...
Now that you understand why container orchestration is needed, let's take a look at the two most popular options and the contrast between them today.Docker SwarmSwarm is the development of native cluster managem
10.40.100.145 onDocker run-d--name consul0--restart=always-v/mnt:/data \- P 8300:8300 \- P 8301:8301 \- P 8301:8301/udp \- P 8302:8302 \- P 8302:8302/udp \- P 8400:8400 \- P 8500:8500 \docker-registry.venic.com:5000/consul:latest-server-advertise 10.40.100.145-bootstrap-expect 310.40.100.146 onDocker run-d--name consul1--restart=always-v/mnt:/data \- P 8300:8300 \- P 8301:8301 \- P 8301:8301/udp \- P 8302:8302 \- P 8302:8302/udp \- P 8400:8400 \- P 8
Balance the advance, first make a prototype it.#!/usr/bin/env python#-*-coding:utf-8-*-ImportRequestsImportJSON#Define the Management node IP, port number, API version, service name, service URL of docker swarm#in late integration into automated deployments, data structures need to be streamlined, data is refined, and accurate judgment and space reclamation are added#API For more use reference: https://docs
When using Swarm's overlay network, run the Container Times "network xx not manually attachable" error in the WebDocker Network create-d Overlay--attachable My-attachable-overlayNetworks created by default with Docker network create-d overlay NET can only be used by swarm service and need to be added--attachable option if required to be used by a separate containerDocker Network create-d Overlay--attachable
This is a creation in
Article, where the information may have evolved or changed.
Docker Swarm manageThe commands scheduler are built with filter and strategy ( cli/manage.go ):
sched := scheduler.New(s, fs)
schedulerthe actual function is to select cluster.ContainerConfig a list that meets the requirements node ( Docker Engine ):
// SelectNodesForContainer will
This is a creation in
Article, where the information may have evolved or changed.
Docker Swarm manageThe options of the command are filter used to specify scheduler Docker Engine the selected filter, whose variables are defined as follows ( cli/flags.go ):
// hack for go vetflFilterValue = cli.StringSlice(filter.List())// DefaultFilterNumber is exportedDefaultFil
BackgroundPreviously, the service was created on different servers (Docker host) using Docker swam, and the container between them was communicated through overlay network. Yesterday due to the company's network maintenance, one of the servers (we referred to as manager node) due to maintenance, temporarily unable to connect (probably lasted 6 hours). Come back today, we found that the communication between
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.