DOCKER BASICO
Requisitos:
-
Tener Instalado docker en su entorno de preferecia, o siga el
siguiente enlace.
- Primeros pasos con docker
Cliclo de vida de los Contenedores
Arrancar en segundo plano
docker run -d <opciones> <image_name>
Con el comando -d corre el contenedor en segundo plano, cuando termine su proceso muera el
contenedor, en opciones puede hacer port forwarding para que el contenedor se
conecte por ese puerto.
docker run -di <image_name>
La opcion -i permite que el contenedor aun al terminar su proceso siga vivo o esperando.Arrancar en segundo plano y acceder a el
Existiendo ya un contener accediendo el comando exec
docker exec -it <container_name_or_id> terminal
Puede usar sh o bash como terminal pasandola como parametroParar un contenedor
docker stop <container_name_or_id>
Eliminar una imagen
docker rmi -f <image_name_or_id>
Eliminar una imagen forzado
docker rmi <image_name_or_id>
Eiminar un contenedor
docker container rm <container_name_or_id>
Eiminar un contenedor forzado
docker container rm -f <container_name_or_id>
Dockerfile
Es un archivo en el que secuencialmente ejecuta una tareas dentro de una imagen docker, desde definir variables de entorno hasta instalacion de paquetes y ejecucion de aplicaciones, todo esto definido en un archivo llamado Dockerfile.
- FROM: Recibe el nombre de la imagen que se usara de base en el contenedor.
- RUN: Ejecuta un comando sobre la capa actual del contedor y almacena el cambio.
- CMD: Proporciona un valor predeterminados durante ejecucion del
contenedor, si existen mas de una instruccion CMD solo se ejecutara la ultima
dentro del Dockerfile.
- LAVEL: Añade metadatos a traves de llave - valor.
- EXPOSE:Informa a docker en que puerto estara escuchando el contenendor
en el tiempo de ejecucion pero aun no estan accesibles.
- ENV: Establece de forma clave - valor el variables de entorno.
- COPY: Copia nuevos archivos, directorios o url al contenedor, por
defecto lo establece como usuario root. Como buena practica se deberia
utilizar --chown = <user>:<group> para darle propiedades de
propietario tambien aplicables a ADD.
- ADD: Copia nuevos archivos, directorios o url al contenedor
(recomendable no usarlo).
- ENTRYPOINT: Configura un contenedor que se ejecutara como un
ejecutable.
- VOLUMEN: Crea un montaje dentro del contenendor que accede a otros
contenedores o el host nativo.
- USER: Crea un user en el sistema que puede interactuar con los comando
RUN, CMD y ENTRYPOINT.
- WORKDIR: Crea un directorio de trabajo.
- ARG: Crea una argumentos utilizados en tiempo de ejecucion del
dockerfile.
- ONBUILD: Ejecuta un disparador cuando una imagen es usada por otra.
- STOPSIGNAL: Envia una señal de salida al contenedor, llamando al
sistema.
- HEALTHCHECK: Comprueba el status del contenedor del docker en
intervalos de tiempo.
- SHELL: Permite anular la shell por defecto, es comunmente utilizada en
sistemas windows donde hay 2 shells nativas (cmd, powershell).
Una vez terminado el Dockerfile lo siguiente es crear la imagen y luego
ejecutar la imagen recien creada
EJEMPLO
FROM ubuntu:16.04
CMD ["/bin/echo","Hello World ByteFate!]
para construir la imagen debe se utiliza el siguiente comando
#docker build -t <tag> .
docker build -t saludo:1.0 .
#docker run --options <image_name>
docker run --name bytefate_saludo saludo:1.0