Comandos básicos en Docker:
docker ps #Lista los contenedores en ejecución además de obtener el id.
docker ps -a #Muestra los contenedores que están ejecutándose.
docker stop <idcontenedor> #Detiene el contenedor.
docker start <idcontenedor> #Inicia el contenedor.
docker rm <idcontenedor> #Borra el contenedor. Primero debe pararse.
docker stop $(docker ps -a -q) #Stope todos los contenedores de una vez.
docker rm $(docker ps -a -q) #Borra todos los contenedores de una vez.
docker images #Devuelve las imágenes descargadas localmente y nos da los id correspondientes.
docker rmi <idimagen> #Borrar imagen. Si una imagen depende de otra hay que borrar desde la nueva a la vieja para que no queden archivos huérfanos.
docker logs <idcontenedor> #Devuelve los logs del mismo. Muy útil para cuando el contenedor inicia y se cae.
docker stats #Muestra el consumo de memoria y cpu de los contenedores y espacio utilizado.
docker exec -it <idcontenedor> /bin/sh #Ingresar por ssh al terminal del contenedor.
docker network ls #Nos permite ver las redes creadas.
docker network rm <nombredelared> #Mucho cuidado antes de borrar una red. Revisar que ya no haya contenedores ya que si los hay quedarán incomunicados. Las redes Bridge, Host, y Null no es posible eliminarlas.
docker network disconnect <mired> <idcontenedor> #Este comando separa al contenedor idcontenedor de la red mired quedando dejandolo fuera del alcance de los contenedores que estan en esa red. Muy útil si un contenedor trae problemas.
docker network connect <mired> <idcontenedor> #Este comando incorpora el contenedor idcontenedor a la red mired.
Si queremos poner en marcha nuestro gestor de contenedores portainer.io tan facil como:
docker run --restart=unless-stopped -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer
O bien una imagen de SQL Server:
docker run --restart=unless-stopped -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=mipasswd" -e MSSQL_AGENT_ENABLED=True -v "Volumen-SQL2019" -p 1433:1433 --name sql1 -h sql1 -d microsoft/mssql-server-linux:2017-latest
RECURSOS:
Habilitar la limitación de recursos en contenedores: https://www.serverlab.ca/tutorials/containers/docker/how-to-limit-memory-and-cpu-for-docker-containers
https://blog.docker.com/2016/12/convert-asp-net-web-servers-docker-image2docker
https://blog.docker.com/2017/07/docker-windows-webinar-qa