Docker – Comandos comunes

docker-624x557

Docker

Es un proyecto de código abierto capaz de automatizar el despliegue de aplicaciones dentro de contenedores de software, proporcionándonos así una capa adicional de abstracción y automatización en el nivel de virtualización de sistema operativo sobre Linux.​ Docker hace uso de las utilidades de aislamiento de recursos del núcleo de linux como los cgroups y espacios de nombre del kernel, para permitir que “contenedores” independientes se ejecuten como una instancia única de Linux, , evitando así la elevada sobrecarga en el arranque y mantenimiento de máquinas virtuales. Fuente wikipedia

Para tener la ultima versión de docker en linux podemos usar el siguiente recurso:
https://get.docker.com

Docker tambien nos facilita un repositorio con diferentes tipos de imagenes creados por la comunidad que podemos obtener de:
https://hub.docker.com

#Descargar una imagen:
docker pull [image]
#Corre un comando en un nuevo contenedor
#docker run [image] [command]
docker run ubuntu ls
#Correr contenedor ubuntu de forma iteractiva con bash
docker run -it ubuntu bash
#Listar imagenes descargadas
docker images
#Listar contenedores activos
docker ps

#Listar todos los contenedores que han sido ejecutados alguna vez
docker ps -a
#Arrancar un nuevo contenedor con un nombre especifico
docker run --name [unnombre] [image] [opcionales]
#Para arrancar un contenedor
docker start [idcontainer]

#Para detener un contenedor
docker stop [idcontainder]

#Para remover un contenedor
docker rm [idcontainer]

#En [idconteiner] tambien podemos utilizar las iniciales del id o el nombre que le hayamos dado al contenedor docker.
#Para conectarnos a un contenedor que esta en ejecución
docker attach [idcontainer]
#Correr un container en background e imprimir id
docker run -d [image]

#Correr container en background y enlazar puertos con el huesped
docker run -d -p 1000:80 [image]
#Obtener ayuda de docker
docker --help
#Crear un nuevo contenedor a partir de uno existente
docker commit [idcontainer] [nuevonombre]

#Luego ejecutar nuevo contenedor copiado
docker run -it [nuevonombre]

#Cuando ejecutamos el container de ubuntu por defecto viene corre el bash y viene motilado
#para instalarle paquetes a container de ubuntu, estando dentro del container ejecutamos
apt-get update

#Luego podemos instalar un paquete por ejemplo el apache2
apt-get install apache2
#Crear un container para apache a partir de otro container que lo tenga ya instalado
docker commit --change='CMD ["apache2ctl", "-D FOREGROUND"]' -c "EXPOSE 85" [idcontainer] [nombrenuevo]

 Para salir de un contenedor sin detenerlo se usa el atajo de teclado CTRL P Q.

DockerFile

Dockerfile es un documento de texto que contiene todos los comandos que un usuario puede llamar a la línea de comandos para montar un imagen. Podemos hacer el simil con una receta de cocina.

#Ejemplo
FROM ubuntu 16.04

MAINTAINER Kimbro ... version: 0.1

RUN apt-get update && apt-get install -y apache2 && apt-get clean && rm -rf /var/lib/apt/lists/*

ENV APACHE_RUN_USER www-data
ENV APACHE_RUN_GROUP www-data
ENV APACHE_LOG_DIR /var/log/apache2

EXPOSE 80

CMD ["/usr/sbin/apache2", "-D","FOREGROUND"]
Dockerfile

La imagen la creamos a partir del Dockerfile con el siguiente comando

docker build -t [nombrecontainer] /[path donde esta el dockerfile]/

Ejemplos:

Ejemplo apra descargar y ejecutar un contenedor con el servicio de Zeronet

#Ejemplo para Zeronet
docker run --name ZERONET -d -e "ENABLE_TOR=true" -v [path]/Docker/zeronet/:/root/data -p 15441:15441 -p 43110:43110 nofish/zeronet

 

 

4 comentarios en “Docker – Comandos comunes

Deja un comentario