Diferencia entre revisiones de «Docker»

De TechShareRoom wiki
Ir a la navegación Ir a la búsqueda
Sin resumen de edición
Línea 41: Línea 41:
La opción recomendada es copiar todos los directorios montados en el sitio donde quieras y levanta el contenedor con el mismo docker compose con un docker-compose up -d
La opción recomendada es copiar todos los directorios montados en el sitio donde quieras y levanta el contenedor con el mismo docker compose con un docker-compose up -d


Otra manera: Copiar el directorio entero de docker, no es recomendable pero en algunas situaciones es más cómodo o incluso necesario.
Otra opción es usar contenedores especializados para backups como [https://github.com/offen/docker-volume-backup docker-volume-backup] o [https://github.com/loomchild/volume-backup volume-backup]
 
Y otra manera es copiar el directorio entero de docker, no es recomendable pero en algunas situaciones es más cómodo o incluso necesario.
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
service docker stop
service docker stop

Revisión del 21:57 8 jul 2024

Instalación

#!/bin/bash

docker --version
dpkg --configure -a

# Remove possible old packages
apt remove -y docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc

# Add Docker's official GPG key
apt -y update
apt -y install ca-certificates curl gnupg
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg
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" | tee /etc/apt/sources.list.d/docker.list > /dev/null
apt -y update

# Install docker
apt -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-compose
docker --version

Actualizar contenedor

Antes de realizar esta operación por primera vez haz un backup del contenedor. Si no has tenido en cuenta los datos externos vas a perderlos todos al volver a levantar el mismo contenedor actualizado.

#!/bin/bash

# Example with portainer
cd /home/usuario/portainer
docker stop portainer
docker rm portainer
docker pull portainer/portainer-ce
docker-compose up -d

Backup contenedor

La opción recomendada es copiar todos los directorios montados en el sitio donde quieras y levanta el contenedor con el mismo docker compose con un docker-compose up -d

Otra opción es usar contenedores especializados para backups como docker-volume-backup o volume-backup

Y otra manera es copiar el directorio entero de docker, no es recomendable pero en algunas situaciones es más cómodo o incluso necesario.

service docker stop
cd /var/lib
tar -czvf docker.tar.gz docker
service docker start

Restore contenedor

# Install docker
service docker stop
cp /var/lib/docker /var/lib/docker_default
rm -rf /var/lib/docker
tar -xzvf docker.tar.gz -C /var/lib
service docker start

Utilidades