Primeros pasos con Docker.
https://training.docker.com/introduction-to-docker
https://training.docker.com/docker-fundamentals
https://training.docker.com/docker-operations
Primeros pasos
Seguir las directrices https://docs.docker.com/engine/installation/linux/ubuntu.
Hemos instalado un unbutu 16 en virtual box con 16GB de disco y 4GB de memoria. Una vez levantada la maquina installar docker ocmo indica las directrizes que como es facil. Una opcion mejor es ir a docker store https://store.docker.com/editions/community/docker-ce-server-ubuntu?tab=description. estas instrucciones instalan una version mas actualizada
Agregar el usuario al grupo docker para evitar ir haciendo sudo
jordi@ubuntujordi:/$ sudo usermod -aG docker jordi. Despues salir para que pille los cambios logout
y ya se podra acceder sin ir poniendo sudo
jordi@ubuntujordi:~$ docker run hello-world.
para salir del container cntl +p +q
Otro ejemplo es
docker run -it ubuntu:14.04 bash. Los parametros it significan terminal mas stout, y bash es el comando que ejecuta. Obervar que para salir exit, una vez hecho no se guarda nada, si se crea un usuario se "pierde" .
Ejemplo de ejecutar un contender y dejarlo corriendo.
# docker run -d -P tomcat:7 . La d es "detached mode" para no quedar atrapado.
docker ps saca las imagenes y su estado
root@ubuntu:/home/jordi# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f6bad8210e61 tomcat:7 "catalina.sh run" 2 minutes ago Up 2 minutes 0.0.0.0:32768->8080/tcp dreamy_volhard
dca00ddfe6c8 ubuntu:14.04 "bash" 22 minutes ago Up 22 minutes hopeful_jang
lo que significa que el redireccionamiento de puertos esta asi 0.0.0.0:32768->8080/tcp
root@ubuntu:/home/jordi# curl http://127.0.0.1:32768
Sacara una cosa feaDocker fundamentals
Construir imagenes, Un poco de teoria. Las imagenes se montan a base de capas, cada layer o capa es a su vez una imagen. La estrucutura de capas sirve para simplificar la instalacion y publicacion de imagenes y asi 'dividir' y acutalizar solo la capa nueva que forma una imagen.Una vez lanzado un contaner en detach mode podremos volver lanzando comandos
jordi@ubuntu:~$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
86d8efeabe8f tomcat:7 "ping www.google.es" About a minute ago Up 2 seconds 8080/tcp angry_torvalds
jordi@ubuntu:~$ docker exec -it 86d8efeabe8f bash
root@86d8efeabe8f:/usr/local/tomcat#
dokcer linking para comunicar contarines
docker volumetes.
Hay DOS maneras de crear imagenes
- ejecutando un commit sobre la imagen por ejemplo $ docker commit ec221eabd2e3 jordiesc/mitest:1.
- La otra es con un fichero llamdos dockerfile.
Es posible crear un registro local via docker en si mismo
jordi@ubuntu:~$ docker run -d -p 5000:5000 registry:2.0. Despues para pull o push imanges hay que hacer referencia al server docker push name.com:5000/repositoryname:tag. para poner regstry remote hay que configurar TLS si no da error otra opcion es establecer --insecure
sudo service docker stop.
/etc/defult/docker DOCKER_OPTS="--insucure-registry ipregistry:portregistry".
sudo service docker start y con eso se activa el insecure.
Docker orchestration
- DockerMachine es un tool para orquestrar docker machines en remoto desde un pc. Para instalar descargar los binarios desde aqui y situarlos en los binarios del $PATH usualmente en /usr/local/bin/docker-machine con permsios chmod+x para poder ejecutarlos
https://github.com/docker/machine/releases/
Con docker machine se puede installar docker en instancias virtuales de varios vendedores y levandar contenedores con la misma API e interfaz. La verdad es que no acabo de verle la utilidad excepto para entornos multicloud.
- Docker Swarn. Tool para clusterizar docker machines y tratarlos como una unidad. Parecido a Kubernettes. Cada nodoe thiene que tener swarn agent y hay un swarn Manager o master. el swarn manager o master es un docker container en si mismo asi como los agentes,
docker run -rm swarn create
- Docker compose es una tool para mangegar multcontainer aplicaicones. Que es lo mas normal con compose se puede spinup todos los containers como una unidad. se crea un fichero yaml y se pone todos los contendedores con las referencias
Instalacion de docker compose basicamente es bajarse y ponerlo en usr/local/bin q es donde estan los ejecutables
curl -L https://github.com/docker/compose/releases/download/1.12.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
el funcionamiento basico es tener un fichero docker-stack.yml y con el compando docker-compose up
Cap comentari:
Publica un comentari a l'entrada