Docker
Instalación
Linux (Edge): curl -sSL https://get.docker.com/ | sh
Instalación Docker Machine
https://docs.docker.com/machine/install-machine/
Instalación Docker Compose
https://docs.docker.com/compose/install/
Comandos
docker info
docker version
Creating and Using Containers Like a Boss
Check Our Docker Install and Config
Ver versión de docker
docker version
Información de la instalación
docker info
docker
Ayuda de un subcomando (subcomando container)
docker container --help
Listar contenedores activos
docker container ls
Listar todos los contenedores
docker container ls -a
Iniciar un contenedor nginx
docker container run --publish nginx 80:80
Iniciar un contenedor nginx desacoplado
docker container run --publish nginx --detach 80:80
Iniciar un contenedor nginx con nombre webhost
docker container run --publish 80:80 --detach --name webhost nginx
Ver los procesos en docker
docker ps
Ver los procesos dentro de un contenedor
docker container top webhost
Ver los logs de una instancia desacoplada
docker container logs webhost
Detener una instancia
docker stop
Detener varias instancias
docker stop
Eliminar varios contenedores
docker container rm
Forzar el eliminado
docker container rm -f
Listar ayuda de comandos para stats
docker container stats --help
Ver detalle de consumo de recursos de los contenedores
docker container stats
Ver la configuración inicial de un contenedor
docker container inspec
Abrir una terminal interactiva después de crear contenedor
docker container run -it nginx nginx bash
Iniciar un contenedor y abrir una terminal interactiva
docker container start -ia ubuntu
Procesos en docker en la máquina HOST (Linux Only)
docker ps
Iniciar instancia de mongo detached
docker run --name mongo -d mongo
Listas los procesos corriendo dentro de un contenedor específico
docker top mongo
Retorna logs de inicio del contenedor
docker container inspect mysql
Ver detalle de consumo de recursos de los contenedores
docker container stats
Más comandos posibles para stats
docker container stats --help
Abrir una shell dentro del contenedor
docker container run -it nginx
Iniciar un contenedor y abrir una shell
docker container start -ai
Abrir una shell en un contenedor iniciado
docker container exec -it
Ver la ip de un contenedor
docker container inspect --format ‘{{ .NetworkSettings.IPAddress }}’
Container VS. VM: It's Just a Process
Detener un contenedor
docker stop mongo
Mostrar procesos de un contenedor
docker top mongo
Iniciar un contenedor
docker start mongo
What's Going On In Containers: CLI Process Monitoring
docker container run -d --name nginx nginx
docker container run -d --name mysql -e MYSQL_RANDOM_ROOT_PASSWORD=true mysql
docker container ls
docker container top mysql
docker container top nginx
Getting a Shell Inside Containers: No Need for SSH
docker container run -help
docker container run -it --name proxy nginx bash
docker container ls
docker container ls -a
docker container run -it --name ubuntu ubuntu
docker container ls
docker container ls -a
docker container start --help
docker container start -ai ubuntu
docker container exec --help
docker container exec -it mysql bash
docker container ls
docker pull alpine
docker image ls
docker container run -it alpine bash
docker container run -it alpine sh
Docker Networks: Concepts for Private and Public Comms in Containers
docker container run -p 80:80 --name webhost -d nginx
docker container port webhost
docker container inspect --format '{{ .NetworkSettings.IPAddress }}' webhost
Docker Networks: CLI Management of Virtual Networks
Listas las interfaces de red
docker network ls
Ver detalles de la red bridge (Defualt net NET)
docker network inspect bridge
Crea una interfaz de red virtual
docker network create my_app_net
Muestra opciones para la creación de un red
docker network create --help
Podemos especificar la opcion nework cuando creamos un contenedor
docker container run -d --name new_nginx --network my_app_net nginx
Ahora podemos observar el contenedor perteneciente a esta red
docker network inspect my_app_net
POdemos conectar un contenedor a una red
docker network connect
Podemos ver que el contenedor está en 2 networks
docker container inspect TAB COMPLETION
Podemos desconectar un contendor de una red
docker container disconnect TAB COMPLETION
Docker Networks: DNS and How Containers Find Each Other
docker network inspect TAB COMPLETION
docker container run -d --name my_nginx --network my_app_net nginx
docker container inspect TAB COMPLETION
docker container exec -it my_nginx ping new_nginx
docker container exec -it new_nginx ping my_nginx
docker network ls
docker container create --help
Assignment Answers: Using Containers for CLI Testing
docker container run --rm -it centos:7 bash
docker ps -a
docker container run --rm -it ubuntu:14.04 bash
docker ps -a
Assignment Answers: DNS Round Robin Testing
docker network create dude
docker container run -d --net dude --net-alias search elasticsearch:2
docker container ls
docker container run --rm -- net dude alpine nslookup search
docker container run --rm --net dude centos curl -s search:9200
docker container ls
docker container rm -f TAB COMPLETION
Kubernetes
from local docker image
kubectl run discovery –image=myproject/myimage –image-pull-policy=Never –port=8761
kubeadm reset
kubeadm init
Centos 7 Kubernetes Kluster
https://www.centlinux.com/2019/04/install-kubernetes-cluster-docker-ce-centos-7.html
Observación el cgroup de docker debe ser “native.cgroupdriver=cgroupfs”