Notas del curso Docker Mastery (Windows)
Nota: en el curso se habla de instalar Docker Toolbox para versiones menores a Windows 10, o Windows 10 home. Desde fines de 2020 esa herramienta ya esta deprecada. Lo recomendado es instalar Docker Desktop.
- Descargar la version windows de Docker (aprox. 550mb)
- Ejecutar el archivo y reiniciar el equipo
- Al prenderse el equipo pedirá instalar el update del kernel
- descargar el update (aprox. 14mb) y ejecutar el archivo
- en powershell correr el siguiente comando
wsl --set-default-version 2
Verificar si esta instalado con cualquiera de estos comandos simples de docker en Powershell
docker version
docker info
Comandos de docker
Los comandos de la consola de docker tienen esta estructura
docker <comando> (options)
docker <comando> <subcomando> (options)
Comenzar un web server con NGINX
docker container run --publish 80:80 nginx
Diferencia de run vs start
Run comienza a correr un nuevo container. Start comienza un container que esta detenido.
Lo que hace el comando run
es mas complicado que eso, en realidad busca una imagen en el cache, al no encontrarla la busca remotamente y la descarga creando un nuevo contenedor. Todos estos pasos son customizables.
Comandos
Para salir de un container desde la terminal presionar ctrl + C
(el container sigue corriendo, solo se sale de la terminal)
Para ver la lista de containers que estan corriendo
docker container ls
Para detener un container
docker stop <primeros 3 digitos del container ID>
Para ver la lista de todos los container, incluso los que no estan corriendo
docker container ls -a
Para crear un container con nombre, en caso de no especificar el nombre, el container se crea con un nombre random.
docker container run --publish 80:80 --detach --name <name> nginx
Ver informacion de un container
docker container logs <name>
Ver lista de procesos de un solo container
docker container top <name>
Ver la configuracion detallada de un container
docker container inspect <nombre>
Comando de ayuda para un container
docker container --help
Eliminar un container (esto no borrará los container que esten corriendo)
docker container rm <tres primeros digitos del container ID>
Eliminar un container forzando si esta corriendo
docker container rm -f <tres primeros digitos del container ID>
Ejemplos
abreviaciones
- -d detach --> hacer andar el container por separado
- -p publish --> PORT
- -e enviroment --> si se necesitan variables de entorno
Crear una imagen de Mongo
docker run --name mongo -d mongo
Crear una imagen de MySQL
docker container run -d -p 3306:3306 --name db -e MYSQL_RANDOM_ROOT_PASSWORD=yes mysql
Verificar si se creó
docker container logs db
Crear una imagen de Apache
docker container run -d --name webserver -p 8080:80 httpd
Crear una imagen de Nginx
docker container run -d --name proxy -p 80:80 nginx