Aplicación en Docker con paquetes privados de GAR

En ocasiones, podemos necesitar acceder a entornos privados cuando estamos construyendo una imagen de Docker. Por ejemplo, instalar un paquete Python que está en un repositorio privado de Google Cloud Artifact Registry. Ésta referencia explica cómo hacerlo. Credenciales de Google Cloud Lo primero que vamos a necesitar son unas credenciales de GCP de una service account que tenga acceso a ese repositorio GAR privado. Una vez tengamos esas credenciales, que vienen en forma de un fichero JSON, podemos pasar al siguiente punto. ...

January 27, 2023 · 1 min · José Luis Patiño Andrés

Ejemplos de Dockerfiles

Uso de SSH para acceder a datos privados en Dockerfile En ocasiones tenemos que acceder a datos que no están accesibles al público en nuestras builds de Docker. Un ejemplo pueden ser repositorios privados de Git que debemos descargar o instalar. Para ello podemos hacer uso de la opción --ssh en docker build, que reenvía las conexiones SSH al agente de la máquina anfitrión. Ejemplo: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 FROM python:3.8-slim-buster WORKDIR /app RUN pip3 install --no-cache-dir pip-tools && \ apt-get -y update && \ apt-get -y upgrade && \ apt-get install -y git libspatialindex-dev && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* RUN mkdir /root/.ssh/ RUN mkdir -p -m 0600 ~/.ssh && ssh-keyscan github.com >> ~/.ssh/known_hosts COPY requirements.txt ./ RUN --mount=type=ssh pip install -r requirements.txt COPY . . ENTRYPOINT ["python", "main.py"] Teniendo este Dockerfile, podemos construir la imagen mediante el siguiente comando, pasando el parámetro --ssh default: ...

May 19, 2021 · 2 min · José Luis Patiño Andrés