, , , , , ,

docker-compose : variables args définies non disponibles lors du build

Dans le docker-compose, on utilise la déclaration args pour définir des variables d'environnement disponibles seulement lors de la construction de l'image.

Cependant les variables déclarés ne sont pas créées/disponibles dans l'environnement de construction.

Si les variables sont créées dans le Dokerfile le problème ne se présente pas.

Pour pouvoir utiliser args dans le docker-compose, le Dokerfile doit avoir une directive ARG avec le meme label:

...
ARG FQDN
...
RUN 

Dans le docker-file on utilise alors la syntaxe suivante pour définir la valeur associée à ce label:

version: "3.3"

services:
  frontend:
    build:
      context: ./frontend
      dockerfile: Dockerfile
      args:
        FQDN: www.example.com
    image: tnf/filez_frontend:v1
    depends_on:
      - db
    restart: unless-stopped
    ...

Références