¿Cómo pasar argumentos dentro de docker-compose?
Docker 1.9 permite pasar argumentos a un archivo dockerfile. Ver enlace: https://docs.docker.com/engine/reference/builder/#arg
¿Cómo puedo pasar los mismos argumentos dentro de docker-compose?yml?
Sírvase dar también un ejemplo, si es posible.
3 answers
Esta característica se agregó en Compose 1.6.
Referencia: https://docs.docker.com/compose/compose-file/#args
services:
web:
build:
context: .
args:
FOO: foo
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-09-17 22:36:52
Esto ahora se puede hacer a partir de docker-compose v2 + como parte del objeto build
;
Docker-compose.yml
version: '2'
services:
my_image_name:
build:
context: . #current dir as build context
args:
var1: 1
var2: c
En el ejemplo anterior "var1" y "var2" se enviarán al entorno de compilación.
Nota: cualquier variable env (especificada usando el bloque environment
) que tenga el mismo nombre que args
variable(s) reemplazará esa variable.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-05-10 23:42:29
Ahora docker-compose
soporta la sustitución de variables.
Compose utiliza los valores de las variables del entorno de shell en el que se ejecuta docker-compose
. Por ejemplo, supongamos que el shell contiene POSTGRES_VERSION=9.3
y usted proporciona esta configuración en su archivo docker-compose.yml
:
db:
image: "postgres:${POSTGRES_VERSION}"
Cuando ejecuta docker-compose up
con esta configuración, Compose busca la variable de entorno POSTGRES_VERSION
en el shell y sustituye su valor en. Para este ejemplo, Compose resuelve image
a postgres:9.3
antes de ejecutar la configuración.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-02-18 22:55:27