{{tag>dev docker docker-compose arg env build todo}} ====== 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 ===== * https://github.com/docker/compose-cli/issues/1674 * https://stackoverflow.com/questions/67853731/why-are-args-specified-in-docker-compose-yml-available-in-dockerfile-for-do * https://stackoverflow.com/questions/50734271/how-to-define-build-args-in-docker-compose