docker volumes

Los Volúmenes (volumes ) son utilizados con la finalidad de lograr persistencia de los datos utilizados por los contenedores y que no se eliminen junto con el contenedor.

Comandos útiles

Comando Descripción
$ docker volume create my-vol  Crea un volumen de nombre my-vol
$ docker volume ls Lista lo volumenes
$ docker volume inspect my-vol Información detallada del volumen
$ docker rm contenedor Eliminar el contenedor, previo a eliminar el volumen
$ docker volume rm my-vol Eliminar un volumen

 

 

Fuentes

https://docs.docker.com/engine/admin/volumes/volumes/#start-a-container-with-a-volume

https://www.josedomingo.org/pledin/2016/05/gestion-del-almacenamiento-en-docker/

docker alfresco

https://github.com/gui81/docker-alfresco

Descargar imagen de alfresco

docker pull gui81/alfresco:latest

Ejecutar

docker run --name='alfresco' -it --rm -p 8000:8000 gui81/alfresco

 

Docker – compose

Docker compose es una herramienta de administración  para por ejemplo aplicaciones compuestas por varios contenedores relacionados entre si, mediante un archivo descriptor de contenedores.

Estructura de la aplicación

Descriptor de contenedores: docker-compose.yml

 

nginx:
        image: nginx
        ports:
                - "80:80"
        volumes:
                - ./public:/usr/share/nginx/html

                - ./nginx/default:/etc/nginx/sites-available/default
                - ./nginx/default:/etc/nginx/sites-enable/default

                - ./logs/nginx-error.log:/var/log/nginx/error.log
                - ./logs/nginx-access.log:/var/log/nginx/access.log

 

Image: Determina la imagen que utilizara el contenedor

volumes: como cargar los directorios/archivos en el contenedor

Archivos log

Archivos vacios, donde se almacenaran los log al ejecutarse el contenedor

default

Configuración básica de nginx

server {
	listen	80;
	
	root /usr/share/nginx/html
	index index.html;
}

 

index.html

Archivo que se cargara como parte del directorio «public»

<html>
	<body>
		<h3> Hola docker </h3>
	</body>
</html>

Ejecutar la aplicación

docker-compose up

para terminar utilizamos Ctr+c

Imagenes en ejecución

docker-compose ps

Ejecutar sh en el contenedor

docker-compose exec nginx sh

Docker – introducción

Instalar

sudo pacman -S docker

Unirse al grupo de docker

sudo usermod -a -G docker fernando

newgrp docker   # refrescar grupo sin reiniciar

 Comando Descripción
docker search nginx Buscar contenedor
docker pull nginx Descargar imagen
 docker images Listar imagenes
docker ps Lista contenedores
docker star id/nombre Arrancar contenedor
docker stop id/nombre Parar contenedor
docker rmi nombreImagen Borrar imagen
docker rm (docker ps  -aq) Eliminar contenedores
docker rm nombreContenedor Borrar contenedor
docker save -o nginx.tar nginx:latest Exportar una imagen
docker load < nginx.tar Cargar imagen desde archivo

Crear una imagen a partir de Dockerfile

Crear los archivos

Dockerfile

FROM nginx
COPY index.html /usr/share/nginx/html

index.html

<html>
<body>
<h3> Hola docker </h3>
</body>
</html>

Ejecutar

docker build -t nginx .

docker run -p 9000:80 nginx

Acceder a

$docker exec -i -t fbb525c0326b /bin/bash

http://localhost:9000