
Introducción al contenido que cubriremos en el curso.
En esta clase hablaremos sobre la tecnología que hay detrás de Docker: Los contenedores Linux.
En esta clase hablaremos sobre Docker, qué es y por qué es tan popular.
En esta clase veremos la instalación en Linux y la instalación en OSX/Windows.
INSTALACION (ACTUALIZADO)
Ahora hay que seguir el procedimiento que indican en la web oficial:
https://docs.docker.com/engine/install/
¡Por fin estamos listos para ejecutar nuestro primer contenedor!
Una vez ejecutado nuestro contenedor, querremos acceder a él a través de la red. En esta clase veremos exactamente eso.
Con docker create podemos crear contenedores sin ejecutarlos, con el objetivo de realizar tareas con el menor tiempo de "sin servicio" posible.
En esta clase veremos todos las tareas que podemos realizar con contenedores.
En esta clase veremos todos las tareas que podemos realizar con imágenes.
En esta clase discutiremos sobre los distintos "drivers" de almacenamiento y veremos dónde se alojan nuestros contenedores e imágenes.
Con docker volume podremos listar, crear o eliminar volúmenes.
Con docker inspect podremos inspeccionar los detalles de un contenedor, con el objetivo de obtener información detallada.
El fichero Dockerfile es una plantilla que nos servirá para lanzar contenedores y realizar acciones con ellos. Nos facilitará mucho las tareas y ahorraremos tiempo en el despliegue de aplicaciones.
FROM ubuntu:14.04
MAINTAINER XXX
VOLUME ["/var/www"]
RUN apt-get update && \
apt-get install -y \
apache2 \
php5 \
php5-cli \
libapache2-mod-php5 \
php5-gd \
php5-json \
php5-ldap \
php5-mysql \
php5-pgsql
COPY apache_default /etc/apache2/sites-available/000-default.conf
COPY run /usr/local/bin/run
RUN chmod +x /usr/local/bin/run
RUN a2enmod rewrite
EXPOSE 80
CMD ["/usr/local/bin/run"]
El comando docker build sirve para leer un fichero plantilla (Dockerfile) y desplegar un contenedor.
El comando docker compose en unión con las plantillas docker-compose.yml es una manera genial de desplegar aplicaciones interconectadas entre ellas.
web:
build: .
links:
- db
ports:
- "80:80"
volumes:
- "/web:/var/www"
db:
image: mysql
ports:
- "3306:3306"
environment:
MYSQL_ROOT_PASSWORD: 123456
MYSQL_USER: dev
MYSQL_PASSWORD: 123456
MYSQL_DATABASE: myappEn esta clase veremos configuraciones avanzas que podemos utilizar en Docker.
En esta clase veremos qué es un repositorio privado y cómo crearlo.
El comando docker push sirve para grabar imágenes en repositorios (públicos o privados).
Fe de erratas (en la teoría)
docker tag contenedor servidor:5000/imagen
debería ser:
docker tag imagen servidor:5000/imagen
Veremos cómo hacer copias de seguridad, tanto de imágenes o contenedores. También veremos como restaurarlos.
En esta clase veremos cómo configurar nuestro servicio Docker para sacarle más partido.
En esta clase discutiremos los distintos drivers the Logging y cómo utilizarlo.
Curso para principiantes sobre una tecnología tan popular actualmente como es Docker. Este curso tiene una parte teórica para explicar qué es docker, el porqué es tan popular, cuál es la tecnología que utiliza y lo compararemos con la virtualización estándar.
A través de videos explicativos, veremos la instalación y los primeros pasos. Todo esto con un método de enseñanza muy didactico.
El curso tiene 22 clases, de una media de 4-5 minutos cada clase. Al finalizar el curso, hay un test con cerca de 20 preguntas
Si te has pregunta qué es docker o si quieres aprender a utilizar docker, éste es el curso adecuado para ti.
Docker es un proyecto de código abierto que automatiza el despliegue de aplicaciones dentro de contenedores de software, proporcionando una capa adicional de abstracción y automatización de virtualización de aplicaciones en múltiples sistemas operativos.1 Docker utiliza características de aislamiento de recursos del kernel Linux, tales como cgroups y espacios de nombres (namespaces) para permitir que "contenedores" independientes se ejecuten dentro de una sola instancia de Linux, evitando la sobrecarga de iniciar y mantener máquinas virtuales.2
El soporte del kernel Linux para los espacios de nombres aísla la vista que tiene una aplicación de su entorno operativo,3 incluyendo árboles de proceso, red, ID de usuario y sistemas de archivos montados, mientras que los cgroups del kernel proporcionan aislamiento de recursos, incluyendo la CPU, la memoria, el bloque de E/S y de la red. Desde la versión 0.9, Docker incluye la biblioteca libcontainer como su propia manera de utilizar directamente las facilidades de virtualización que ofrece el kernel Linux, además de utilizar las interfaces abstraídas de virtualización mediante libvirt, LXC (Linux Containers) y systemd-nspawn.456
De acuerdo con la firma analista de la industria 451 Research, "Docker es una herramienta que puede empaquetar una aplicación y sus dependencias en un contenedor virtual que se puede ejecutar en cualquier servidor Linux. Esto ayuda a permitir la flexibilidad y portabilidad en donde la aplicación se puede ejecutar, ya sea en las instalaciones físicas, la nube pública, nube privada, etc.