Docker Swarm
Aunque se pueden hacer diversos tipos de instalación, como con kubernetes, la instalación más sencilla es con docker swarm.
Instalación
Instalación de docker en ubuntu segun Docker y Docker Compose
Para instalar Docker Engine en Ubuntu, sigue los siguientes pasos:
actualiza la lista de paquetes:
sudo apt-get update
Instala los paquetes necesarios para permitir que apt use un repositorio sobre HTTPS:
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common
Agrega la clave GPG oficial de Docker:
sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
# Add the repository to Apt sources:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Actualiza nuevamente la lista de paquetes:
sudo apt-get update
Finalmente, instala la última versión de Docker Engine y containerd:
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Dependiendo de que el servidor sea un manager o un worker, se instalará de una forma u otra.
- Con el manager se instalará con el siguiente comando:
sudo docker swarm init
Dando una salida como la siguiente:
docker swarm join --token TOKEN XX.XX.XX.XX:2377
- Con los workers se instalará con el siguiente comando:
Para añadir el docker swarm a un manager cambiando XX.XX.XX.XX por la ip del servidor manager.
sudo docker swarm join --token TOKEN XX.XX.XX.XX:2377
o
- Para arrancar docker en modo abierto y admitir conexiones de docker desktop (No necesario en un cluster)
sudo dockerd -H tcp://0.0.0.0:2375 # Donde 1.2.3.4 es la ip del servidor de docker (donde corremos el comando)
Para reiniciar el daemon de Docker en Ubuntu puedes usar el comando sudo service docker restart Rearrancar por ejemplo después de un reinicio de maquina.
sudo rm /var/run/docker.pid
sudo dockerd -H tcp://0.0.0.0:2375
sudo docker swarm init --advertise-addr 192.168.87.241
sudo service docker restart