first commit

This commit is contained in:
2026-08-04 19:24:21 +02:00
commit 46901fbb7f
20 changed files with 5364 additions and 0 deletions
+245
View File
@@ -0,0 +1,245 @@
## AYUDA DOCKER
docker desktop start        abrir docker desktop
docker info                     verificar que docker esta corriendo
docker ps                  # Ver contenedores en ejecución
docker ps -a                 # contenedores creados
docker stop mi-web     # Parar el contenedor
docker start mi-web      # Iniciar el contenedor nuevamente
docker rm mi-web         # Eliminar el contenedor (cuando ya no lo necesites)
docker images Imagenes existentes en local
Dockerfile                  Archivo texto instrucciones crear imagen docker.
docker build .             Construir una imagen a partir de Dockerfile
docker login             Iniciar sesion docker hub
docker logout           Cerrar sesion docker hub
docker pull nombreimagen:version descargar imagen docker
docker push nombreimagen publicar imagen
docker searh nombreimagen buscar imagen
Iniciar un contenedor
docker run nombre_contenedor
docker run -d --name owncloud -p 8080:80 owncloud:latest
Docker compose
docker compose up -d
docker compose down Detiene y eliminar el contenedor
docker stop vaultwarden # parar contenedor
docker start vaultwarden # arrancar contenedor
docker restart vaultwarden # reiniciar contenedor
---
#### 🐳 Contenedores
**Acceder a la terminal de un contenedor existente:**
```
docker exec -it <nombre_o_id_del_contenedor> /bin/bash
# O si bash no está disponible:
docker exec -it <nombre_o_id_del_contenedor> sh
```
docker exec -it nombrecontenedor whereis bash/sh
docker exec -it caddy /bin/sh (para caddy por ejemplo cambia a sh)
Comando largo - Alias corto Descripción
docker container ls docker ps Listar contenedores en ejecución
docker container ls -a docker ps -a Listar todos los contenedores
docker container stop <id> docker stop Parar un contenedor
docker container start <id> docker start Arrancar un contenedor detenido
docker container restart <id> docker restart Reiniciar un contenedor
docker container rm <id> docker rm Eliminar un contenedor
---
#### 📦 Imágenes
Comando largo - Alias corto Descripción
docker image ls docker images Listar imágenes
docker image rm <id> docker rmi Eliminar una imagen
docker image prune (no tiene alias) Borrar imágenes no usadas
Crear/levantar contenedor si ya tienes la imagen, sin dockerfile:
docker run -d \
--name vaultwarden \
-e DOMAIN="https://vw.domain.tld" \
-v $(pwd)/vw-data:/data \
-p 8000:80 \
vaultwarden/server:latest
---
#### 🔧 Volúmenes y redes (sin alias cortos)
Comando largo - Descripción
docker volume ls Listar volúmenes
docker volume rm <id> Eliminar volumen
docker volume prune Limpiar volúmenes no usados
docker network ls Listar redes
docker network rm <id> Eliminar red
docker network prune Limpiar redes no usadas
---
#### 🔧 Opciones disponibles para restart
Docker ofrece cuatro opciones principales para controlar el comportamiento de reinicio:
no (por defecto) El contenedor no se reinicia nunca automáticamente, ni al fallar ni al reiniciar Docker.
always El contenedor siempre se reinicia, incluso si lo detuviste manualmente o al reiniciar Docker Desktop.
unless-stopped Igual que always, pero no se reinicia si tú lo detuviste manualmente antes de apagar Docker.
on-failure[:n] Solo se reinicia si el contenedor termina con error (exit code ≠ 0). Puedes limitar el número de intentos con :n.
Ejemplo: on-failure:5.
---
#### Mover imagenes
🔁 Mover una imagen Docker a otro equipo (recomendado)
Exportar la imagen a un archivo .tar
docker save -o nombre_imagen.tar nombre_imagen
Ejemplo:
docker save -o mi_app.tar mi_app:latest
Importar la imagen en el segundo equipo
docker load -i nombre_imagen.tar
docker load -i mi_app.tar
docker run ...
✅ Si quieres exportar la imagen con los datos
docker save flask-contactos > flask-contactos.tar
cp ./data/contacts.db contactos.db
En el nuevo equipo, haz:
docker load < flask-contactos.tar
mkdir data
cp contactos.db ./data/
docker run -d -p 5000:5000 -v $(pwd)/data:/data flask-contactos linux
docker run -d -p 5000:5000 -v ${PWD}/data:/data flask-contactos windows
---
Docker build (despues de contruir imagen con build, despues se puede quitar y usar solo image: nombreimagen)
services:
app:
\- build: .
\+ image: mi_app_python:1.0`
---
#### Instalar docker
Uninstall old versions
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done
Set up Docker's apt repository.
**Add Docker's official GPG key:**
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
**Add the repository to Apt sources:**
echo \
"deb [arch=(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
(. /etc/os-release && echo "{UBUNTU_CODENAME:-VERSION_CODENAME}") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
Install the Docker packages.
To install the latest version, run:
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Verify that the installation is successful by running the hello-world image:
sudo docker run hello-world
This command downloads a test image and runs it in a container. When the container runs, it prints a confirmation message and exits.
1. (Opcional) Evitar usar sudo con Docker Para no tener que escribir sudo cada vez, agrega tu usuario al grupo docker: sudo usermod -aG docker $USER newgrp docker # Recarga los grupos sin reiniciar sesión Ahora puedes probar sin sudo: docker run hello-world
Para instalar además docker Desktop en Ubuntu Desktop:
1.sudo apt install gnome-terminal
2\. Descargar el paquete .deb de docker Desktop
3\. sudo apt-get update
sudo apt-get install ./docker-desktop-amd64.deb
---
#### Docker Windows
Habilitar wsl 2
Abrir PowerShell como Administrador
wsl --install
Descargar/instalar docker Desktop
Configuración importante:
· ✅ Instalar componentes adicionales para WSL 2
· ✅ Agregar acceso directo al escritorio
· ✅ Usar contenedores de Windows
Abrir PowerShell o Command Prompt
docker --version
docker-compose --version
docker run hello-world
wsl --list --verbose
---
#### Copia base de datos mysql
Copia seguridad base mysql (backup)
docker exec -it mysql-db mysqldump -u root -p testdb > backup.sql
mysql-db → es el nombre del contenedor (en tu docker-compose.yml).
\-u root -p → usará la contraseña root que definiste.
testdb → es el nombre de la base de datos.
> backup.sql → guarda la copia en tu máquina (no dentro del contenedor).
> 👉 Al ejecutarlo te pedirá la contraseña (root).
Restaurar desde un backup (restore)
docker exec -i mysql-db mysql -u root -p testdb < backup.sql
Esto sobrescribirá la base de datos testdb con el contenido del backup.
---
#### Puetos docker Ubuntu Server
navidrome          4533
kanboard         8081 - 443
owncloud         8082
owncloud-mariadb  3306
owncloud-redis     6379
jellyfin               8096
transmission        9091
portainer          9443
plex             32400