top of page

Docker

  • Foto del escritor: Nucifera Venenosa
    Nucifera Venenosa
  • 8 abr 2016
  • 4 Min. de lectura

--Entrada en construcción (aun faltan cosas y formato)--


En esta entrada no pretendo explicar como funciona Docker o para que sirve, más bien iré agregando algunos comandos y cosas en las que voy trabajando y las plasmo en este espacio por si a alguien le son de utilidad y para tenerlas de referencia para futuras ocasiones.


Instalación en CentOS7

Instalar Python: # yum -y install python-pip # yum install epel-release Instalar Docker: # yum -y install docker docker-registry Hacer que el servicio de Docker inicie cuando bootea el equipo: ​# systemctl enable docker.service Iniciar el servicio: # systemctl start docker.service Bajar una imagen del SO que se va a tener en un contenedor de Docker: # docker pull centos Ejecutar un contenedor con la imagen de CentOS: # docker run -i -t centos /bin/bash Para listar los contenedores activos: # docker ps Para saber el nombre de los contenedores: # docker ps -a Para saber el nombre de los contenedores activos y parados: # docker ps -l Para iniciar un contenedor una vez que tengamos el ID: # docker start -a ID_del_contenedor Eliminar un contenedor: ​ # docker rm ID_del_contendor Crear un dockerfile: $ touch Dockerfile Comandos de Docker: attach Adjunta a un contenedor corriendo. build Construye un contenedor de un archivo Docker commit Crea una nueva imagen de los cambios del contenedor cp Copia archivos/carpetas de los contenedores del sistema de archivos a la ruta de host diff Inspecciona los cambios en el sistema de archivos de un contenedor events Obtiene eventos en tiempo real desde el servidor export ​ Transmite el contenido de un contenedor como un archivo tar history Muestra el historial de una imagen images Lista las imágenes import Crea una nueva imagen del sistema de archivos de los contenidos a partir de un archivo tar info Muestra el sistema de información de la pantalla insert Inserta un archivo en una imagen inspect Regresa información de bajo nivel en un contenedor kill Mata a un contenedor en ejecución (corriendo) load Carga una imagen desde un archivo tar login Registra la sesión para el servidor de registro de Docker logs Obtiene los registros de un contenedor port Busca el puerto público el cual está NAT-eado y lo hace privado (PRIVATE_PORT) ps Lista los Contenedores pull Descarga una imagen o un repositorio del servidor de registros Docker push Empuja una imagen o un repositorio del servidor de registro Docker restart Reinicia un contenedor en ejecución (corriendo) rm Elimina uno o más contenedores rmi Elimina una o más imágenes run Ejecuta un comando en un contenedor save Guarda una imagen en un archivo tar search Busca una imagen en el índice de Docker start Inicia un contenedor detenido stop Detiene un contenedor en ejecución (corriendo) tag Etiqueta una imagen en un repositorio top Busca los procesos en ejecución de un contenedor versión ​Muestra la información de versión de Docker Dockerfile Comandos del dockerfile Add Copia un archivo desde el host en el contenedor. Sólo se pueden copiar archivos que se encuentran en paralelo a la carpeta en la que se encuentra el Dockerfile, esto por temas de caché CMD Configura comandos por defecto para ser ejecutado, o se pasa al punto de entrada ENTRYPOINT. Esta instrucción sirve para ejecutar una acción por defecto en el arranque de un contenedor, si escribes más de una solo se ejecutará la última. Y si al arrancar un contenedor especificas un comando puedes sobrescribir esta instrucción por defecto. ENTRYPOINT Ajusta el punto de entrada por defecto de la aplicación desde el contenedor ENV Inicializa variables de entorno (por ejemplo, "clave=valor") EXPOSE Expone un puerto al exterior FROM Configura la imagen base para usar MAINTAINER Establece los datos de autor/propietario del archivo Dockerfile RUN Ejecuta un comando y cambia (commit) el resultado de la la imagen final (contenedor) USER Establece el usuario para ejecutar los contenedores de la imagen VOLUMEN Monta un directorio desde el host al contenedor WORKDIR Establece el directorio para las directivas de CMD que se ejecutarán Marcar la imagen con un [nombre] Creando el dockerfile Crear un archivo dockerfile # vi dokerfile --archivo dockerfile--- FROM centos:latest MAINTAINER Linda Santini "linda.santini@x.mx" #VOLUME "/root/Docker/DockerFile/" #EXPOSE num_puerto_al_exterior RUN mkdir recursosBase RUN curl https://3230d63b5fc54e62148e-c95ac804525aac4b6dba79b00b39d1d3.ssl.cf1.rackcdn.com/Anaconda3-4.0.0-Linux-x86_64.sh --output anaconda.sh #RUN bash ./anaconda.sh -y #RUN yum install -y bzip2 #RUN yum install -y gunicorn Construir el contenedor con el dockerfile base: # docker build --rm -t dockerfile . Ejecutar el contenedor creado con el ID que se le asigno: # docker run -d dockerfile Revisar que este corriendo el contenedor: # docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 1df56495b50b dockerfile "/bin/bash" About a minute ago Exited (0) About a minute ago high_meitner ​Guardar los cambios del contenedor: # docker commit ID_CONTENEDOR NOMBRE_IMAGEN Ingresar al contenedor creado: # docker run -i -t dockerfile /bin/bash Eliminar los contenedores y sus instancias de imagenes docker rm $(docker ps -a -q) ​Docker Hub Con esta herramienta online de Docker, es posible vincular un dockerfile en GitHub a docker hub; pues puede crear las imágenes por ustedes y almacenarlas online. De esta manera, podrán simplemente descargarla a sus servidores. Esta puede ser pública o privada, por un pago pequeño al estilo de Github.​



Comments


  • Facebook - Grey Circle
  • Twitter - Grey Circle
  • Google+ - Grey Circle
  • YouTube - Grey Circle
  • Pinterest - Grey Circle
  • Instagram - Grey Circle

Aurora Santini.

bottom of page