Skip to content

Instantly share code, notes, and snippets.

@drmillan
Last active October 12, 2021 12:06
Show Gist options
  • Save drmillan/a1873640e7e47e313e87 to your computer and use it in GitHub Desktop.
Save drmillan/a1873640e7e47e313e87 to your computer and use it in GitHub Desktop.
Docker Cheat Sheet.

Instalación de docker en OSX

brew install virtualbox

Crear máquina Docker:

docker-machine create [MACHINE_NAME]

Eliminar todas las imágenes y contenedores docker

#!/bin/bash
# Delete all containers
docker rm $(docker ps -a -q)
# Delete all images
docker rmi $(docker images -q)

Reiniciar máquina docker (a veces se producen fallos red)

docker-machine restart [MACHINE_NAME]

Preparar shell para trabajar por línea de comandos

eval "$(docker-machine env [MACHINE_NAME])"

Crear una imagen a partir de un Dockerfile

docker build -f Dockerfile .

Crear contenedor a partir de una imagen

docker create [IMAGE_ID]

Crear contenedor con nombre mapeando puertos a partir de una imagen

docker run -d --name=[CONTAINER_NAME] -p 8081:8081 [IMAGE_ID]

Consultar containers activos

docker ps

Consultar containers (funcionando o no)

docker ps -a

Iniciar un container

docker start [CONTAINER_ID]

Cambiar nombre a un contenedor

docker rename [CONTAINER_ID ] [CONTAINER_NAME]

Ejecutar comado en un contenedor

docker exec [CONTAINER_NAME] [COMMAND]

Hacer login en un contenedor en ejecución

docker exec -i -t [CONTAINER_NAME] /bin/bash
@jtorres-viavansi
Copy link

jtorres-viavansi commented Apr 22, 2016

Aquí va otro truco para la instalación en Ubuntu. La instalación de docker siguiendo los pasos de la web es realmente simple, basta con ejecutar lo siguiente:
curl -fsSL https://get.docker.com/ | sh

Hasta aquí todo bien, pero como todo proceso (excesivamente) automatizado, cuando surgen problemas hay poco que puedas hacer. Llegas el momento de probar tu instalación con:
docker run hello-world

Y obtienes un bonito mensaje:
Error response from daemon: rpc error: code = 2 desc = "oci runtime error: exit status 1"

Zasca, en toda la boca. ¿Cómo puede ser si me he limitado a seguir el único paso requerido para instalarse? Si te pones a bichear por internet hay infinidad de respuestas, no parece haber consenso salvo en una cosa: docker no funciona con kernel 3.2 o inferior. Un primer paso sería comprobar que tu kernel es superior, el problema llega cuando efectivamente lo es y ¡sigue sin funcionar! ¿Qué está fallando aquí?

La respuesta es simple: tu versión de SO/kernell no se lleva bien con la versión instalada de docker. La línea mágica de instalación se limita a bajar la última versión, pero en SO con algún tiempo puede dar problemas (mismamente con Ubuntu 12.04 me ha pasado). ¿Cómo resolverlo? Bajando una versión anterior siguiendo estos pasos:

Baja la key del repositorio:
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9

Configura el repositorio:
sudo sh -c "echo deb https://get.docker.io/ubuntu docker main > /etc/apt/sources.list.d/docker.list"
sudo apt-get update

Busca las versiones disponibles:
sudo apt-cache search docker

Instala la última listada (en mi caso 1.9.1):
sudo apt-get install lxc-docker-1.9.1

Permite la ejecución de docker con tu usuario actual:
sudo usermod -aG docker tu_usuario

Y a probar la instalación:
docker run hello-world

Si todo ha ido bien, ahora sí nos recibirá el mensaje que esperábamos desde un principio:
Hello from Docker. This message shows that your installation appears to be working correctly.

La solución es para la versión Ubuntu pero entiendo que es exportable a otros sistemas, léase buscar versiones anteriores de docker si el actual te da problemas.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment