Docker
INSTALACIÓN EN LINUX
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli [Link] docker-buildx-plugin docker-compose-
plugin
sudo groupadd docker
sudo usermod -aG docker $USER
newgrp docker
COMANDOS
docker search ubuntu
buscar imagenes en dockerhub
docker pull ubuntu
descargar una imagen
docker images
listar imagenes instaladas
docker rmi nombre_imagen
elimina una imagen
docker rmi $( docker images -aq ) -f
elimina todas las imagenes
docker create ubuntu
crea un contenedor de la imagen de ubuntu
docker create --name alias_nuevo ubuntu
crea un contenedor de ubuntu con un alias
docker run hello-world
descarga imagen si no existe, crea contenedor e inicia contenedor
docker container ls
lista todos los contenedores
docker ps
listar contenedores ejecutandose
docker ps -a
listar contenedores detenidos
docker start id_contenedor
inicia un contenedor
docker stop id_contenedor
detiene un contenedor
docker restart id_contenedor
reinicia un contenedor
docker rm id_contenedor o alias_contenedor
elimina un contenedor
docker rm $( docker ps -aq ) -f
elimina todos los contenedores que estan detenidos
docker run -d -p 8080:80 --name nuevo_alias_contenedor -v $(pwd):/ruta/destino/archivos:ro
apache2
creamos con contenedor que se escuchara en puerto 8080 con un alias y copiaremos los archivos de
desarrollo a una carpeta interna del contenedor
docker exec -it alias_contenedor bash
ingresamos al contenedor mediante su alias
errores de permiso al eliminar o parar contenedor
sudo aa-remove-unknown
docker container kill $(docker ps -q)
ver consumos del contenedor
docker stats
DOKERFILE
Crear en el directorio del proyecto un arhivo Dockerfile (primera letra con mayúscula)
nano Dockerfile
Ingresar las líneas:
Luego en la misma carpeta del proyecto construir la imagen:
docker build -t nombre_imagen:version .
REDES
docker network ls
lista las redes en docker
docker network create mired
crea una red
docker network rm mired
elimina una red
docker network prune -f
elimina todas las redes
docker create -p 8080:80 --name webserver --network mired apache2
crea un contenedor de la imagen apache2 con el alias webserver y se le asigna la red mired
docker inspect -f '{{range .[Link]}}{{.IPAddress}}{{end}}' name_container
permite ver la ip asignada al contenedor
DOCKER COMPOSE
en la raiz del proyecto agregar un archivo
[Link]
ingresar las lineas de código
docker compose up -d
construye los contenedores apartir de un archivo [Link]
docker compose -f nombre_archivo.yml up -d
construye los contenedores con un nombre especifico, diferente a [Link]
docker compose up -d --build
reconstruye los contenedores si hubieron cambios, apartir de un archivo [Link]
docker-compose -f [Link] up --build servicio1 servicio2
reconstruye nuevos contenedores especificos
docker compose down
destruye todo apartir de un archivo [Link]
docker compose -f nombre_archivo.yml down
destruye todos los contenedores con un nombre especifico, diferente a [Link]
docker compose -f nombre_archivo.yml start
inicia los contenedores con un nombre especifico, diferente a [Link]
docker compose -f nombre_archivo.yml stop
detiene los contenedores con un nombre especifico, diferente a [Link]
docker logs nombre_del_contenedor
muestra los errores de un contenedor