What difference between initialization swarm over this commands:
docker swarm init --advertise-addr <manager-ip>
docker -H <worker-ip> swarm join --token <worker-token>
And this one:
docker run swarm manage <consul-ip>
docker -H <worker-ip> run swarm join --advertise=<worker-ip> <consul-ip>
Why we need swarm
image?
Docker Swarm (also Swarm classic) is fundamentally different from Swarm Mode. Native Swarm functionality will continue to be supported in Docker 1.12 release, this is done to preserve backward compatibility.
Docker Swram (classic):
Usage example:
docker run swarm manage <consul-ip>
docker -H <worker-ip> run swarm join --advertise=<worker-ip> <consul-ip>
Swarm Mode (new, preferable):
Usage example:
docker swarm init --advertise-addr <manager-ip>
docker -H <worker-ip> swarm join --token <worker-token>
Source: Comparing Swarm, Swarmkit and Swarm Mode
Great answer on another question like this one: The relation between “docker/swarm” and “docker/swarmkit”