7.5 KiB
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 docker stop Parar un contenedor docker container start docker start Arrancar un contenedor detenido docker container restart docker restart Reiniciar un contenedor docker container rm docker rm Eliminar un contenedor
📦 Imágenes
Comando largo - Alias corto Descripción
docker image ls docker images Listar imágenes docker image rm 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 Eliminar volumen docker volume prune Limpiar volúmenes no usados docker network ls Listar redes docker network rm 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.
- (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