[Hilo Oficial] Docker

B

#30 Potentillo entonces :D
Muchas Gracias mi buen señor, Dios se lo pague con un buen polvo

B

Docker FTW :ninjaedit:

1 mes después
bultack

Con Docker Engine es posible 'enlazar' un contenedor con otro? Por ejemplo, si tengo una imagen con PHP + Apache, la puedo 'enlazar' con otra imagen de PostgreSQL?

1 respuesta
D

#33 Si, antes se hacían mediante links, ahora se usa docker network ya que los links tienden a descatalogarse.

Mirate docker compose, es la forma mas sencilla de hacer lo que quieres.

1 respuesta
bultack

#34 Con Docker Compose sé que se puede hacer, pero primero me gustaría controlar más de Docker Engine y no estaba seguro de si se podía hacer.

Hace unos días le mandé un mail al autor del libro Using Docker para saber si tenía en mente sacar una nueva edición más actualizada, ya que en su libro la versión de Docker Engine que usa es la 1.8 y ya están por la 1.12. En su respuesta básicamente me dijo que no entraba en sus planes ya que es una cosa que cambia mucho y muy rápido y que no le ve sentido. También me comentó que Docker Compose se podría ver reemplazado por los Distributed Application Bundles

1 respuesta
benitoll

#12 el tamaño del gráfico no tiene absolutamente nada que ver, no está comparando unidades de ningún tipo sino los esquemas de funcionamiento.

Los contenedores dan mayor rendimiento que las máquinas virtuales porque no tienen que emular/paravirtualizar BIOS, interrupciones, E/S (dispositivos, almacenamiento, redes...) ni tienen procesos del kernel repetidos en cada VM (no digo kernels completos porque hay sistemas de despliegue que utilizan kernels "minimal" especiales), mientras que los contenedores son solo un entorno aislado.

Los contenedores existen hace muchos años ya, Docker es simplemente un sistema novedoso acorde a los nuevos tiempos, nunca me he puesto pero tiene mucho potencial.

D

#35 Docker Engine no deja de ser el servicio de Docker de versiones anteriores, con mas opciones, o es lo que he entendido. Solo que en la 1.12 lo llaman así.

ompose no deja de ser una especie de wrapper para no tener que levantar " a mano" los contenedores con configs específicas.

Lo de las Distributed Application Bundles no tenía ni idea. Evoluciona tan rápido que cuesta seguir a l apuñetera tecnología.

1 mes después
bultack

Estos días he estado dándole caña a Docker Engine y ahora estoy intentando montar una imagen de PHP con Apache, la verdad es que hasta aquí ninguna dificultad, todo bastante simple ya que se ahorra bastante tiempo.

El problema lo tengo cuando creo nuevos archivos PHP o actualizo los que tengo, una vez que el contenedor está en marcha los cambios no se reflejan si no vuelvo a reiniciarlo. Sabéis cómo puedo hacer para que no tenga que hacer este proceso cada vez que haga cambios?

1 respuesta
D

#38 Mi pregunta es:

¿El código lo "metes" en la imagen cuando haces build? ¿O lo djas en un directorio, el cual luego mapeas con el parámetro VOLUME?

1 respuesta
bultack

#39 Hago un COPY del proyecto al directorio /var/www/html

Luego metí el parámetro VOLUME /data porque quería empezar con el tema de comunicar dos contenedores para meter un PostgreSQL aparte.

1 respuesta
D

#40 si haces un COPY del código, cada vez que tengas que actualizar dicho código, te toca crear nueva imagen, publicarla y matar y crear un contenedor nuevo.

El código déjalo en una carpeta, y con VOLUME, mapeas dicho directorio en el contenedor. Así cuando modifiques el código, no hace falta volver a crear una imagen nueva. Como mucho, matar contenedor, y volver a crearlo.

Puedes mapear tantos volúmenes en un contenedor como te de la gana.

1 respuesta
bultack

#41 Pues voy a echar un vistazo a la documentación para ver más sobre el parámetro VOLUME porque me pensaba que estaba para las bases de datos.

1 respuesta
D

#42 VOLUME "presenta" un directorio para ser mapeado. Luego al levantar un contenedor tienes que especificarlo:

 -v <host_folder>:<container_folder>
Saphyel

docker-compose.yml

de nada

2 respuestas
D

#44 bueno, docker-compose.yml no deja de ser una forma de coger los parámetros que se ponen al ejecutar docker run, en un fichero yaml.

1 respuesta
Saphyel

#45 pero mucho mas comodo, y ya que esta aprendiendo que ejecute un comando y se ahorre perder el tiempo de esa forma tan artesanal

bultack

#44 Conozco algo de Composer, pero creo que conviene saber utilizar Engine que es la base de Docker, y cómo indiqué en otro mensaje, puede que Composer sea reemplazado pero eso fue algo que me dijo el autor del libro y no es algo que haya investigado mucho ya que sigo con Engine porque la he tenido bastante de lado

1 respuesta
Saphyel

#47 estamos hablando del mismo proyecto que sale en la documentacion oficial de docker? https://github.com/docker/compose pero vaya, supongamos que ese autor esta en lo cierto y es reemplazado... con que?

1 respuesta
bultack

#48 Según me dijo, con Distributed Application Bundles

2
17 días después
sPNkKkKkKkKk

Buenas, me lío un poco con el concepto de docker export vs docker save. Alguna explicación sencilla?
He leido esto: http://stackoverflow.com/questions/22655867/what-is-the-difference-between-save-and-export-in-docker pero no termino de entender exactamente cuando usar uno u otro.

1 mes después
E

Me acaba de ocurrir, al pasar de un kernel 3 a uno 4. Me parece un FAIL TREMENDO por parte de docker, y que encima no proporcionen herramientas o algo que detecte esto.

https://dropbear.xyz/2015/06/13/linux-4-0-ate-my-docker-images/

1 respuesta
Saphyel

#51 yo uso la 4.8.0 y sin problemas...

1 respuesta
E

#52 pasaste de un kernel 3 a uno 4?

1 respuesta
Saphyel

#53 diria que si, llevo usando/actualizando ubuntu en mi trabajo casi 2 anyos

1 respuesta
E

#54 pues no se :S el caso es que el kernel 4 ya no soporta aufs y me jode vivo. Lo he iniciado con el 3, sacaré copias y lo importo todo.

1 mes después
bultack

Sabéis de algún sitio dónde ofrezcan alojamiento para una aplicación Docker de forma gratuíta?

1 respuesta
soek

#56 La pregunta en si no tiene mucho sentido.

Dentro de docker puedes tener cualquier contenedor corriendo cualquier cosa, el servicio de deploy que utilices puede ser Amazon, Heroku, OpenShift, DigitalOcean o el que mas rabia te de.

Como contendor me refiero a cualquier tecnologia o lenguaje, ya puede ser una base de datos como una applicacion escrita con Java, Go, PHP.

1 respuesta
bultack

#57 Sí, me refería a ese tipo de servicios.

He visto que Amazon y Microsfot ofrecen este servicio pero es de pago, en el primero creo que hay un mes gratis pero busco algo que me ofrezca tener al menos uno gratis y si quiero meter otros pues pagar, así puedo ir probando con distintos deploys de diferntes aplicaciones

2 respuestas
soek

#58 puedes probar heroku si no te molesta deployear en un dominio con ellos y luego hacerte de pago, si la app es pequeña es una solucion buena. openshift es parecido a heroku, tienes un plan free.

1 respuesta
bultack

#59 Pues le echaré un vistazo a Heroku a ver qué tal va, gracias