docker

🐳 Dockerfile – Instalar paquetes noninteractive

Al momento de crear una imagen personalizada usando dockerfile es necesario instalar paquetes de software y algunos de estos vienen con un set de preguntas para ti.

Hoy dia por ejemplo, tuve que instalar un apache sobre una imagen de ubuntu y queria saber en que Region / Ciudad vivia. Al ejecutar el comando docker-compose build … ahi quedaba mi intento por configurar mi sistema. No habia forma de saltar ese paso.

Para poder evitarlo, le indique al script de docker ( dockerfile ) que estableciera la variable de sistema DEBIAN_FRONTEND como noninteractive.

FROM ubuntu

ARG DEBIAN_FRONTEND=noninteractive
RUN \
apt-get update && \
apt-get install -qq -y php-pgsql postgresql-all libapache2-mod-php

Una vez realizado esto, ya disponia de mi entorno listo para trabajar.

#HappyCoding

⚙ Docker Compose: no module named ordered_dict

Hoy dia, fallo la ejecucion de docker-compose en uno de mis servidores.

El problema:

E ImportError: No module named ordered_dict

La solución ?

Asegurarnos de tener la version urllib3-1.22, actualmente la version en produccion es la 1.26

Para tal efecto ejecutamos los siguientes comandos

pip uninstall urllib3
pip install urllib3=1.22

#HappyCoding

Docker Compose Build Image

En la configuración de tu archivo docker-compose.yml, puedes definir si quieres descargar una imagen del dockerhub o si prefieres construirla tu mismo usando el archivo dockerfile de tu proyecto.

Sin embargo, tambien puedes usar las dos instrucciones al mismo tiempo:

build: .
image: testing:prod

En este caso, docker-compose usara el comando build para construir la imagen, pero le pondra el nombre indicado en image 😀