Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

740
Vistas
¿Cómo definir build-args en docker-compose?

Tengo el siguiente archivo docker-compose

 version: '3' services: node1: build: node1 image: node1 container_name: node1 node2: build: node2 image: node2 container_name: node2

Puedo construir ambas imágenes e iniciarlas con un solo comando

docker-compose up -d --build

Pero me gustaría usar build-args en las compilaciones. El script de compilación original de la imagen fuera del alcance de la composición se parece a esto

 #!/bin/sh docker build \ --build-arg ADMIN_USERNNAME_1=weblogic \ --build-arg ADMIN_PASSWORD_1=weblogic1 \ --build-arg ADMIN_NAME_1=admin \ --build-arg ... --build-arg ... \ -t test/foo .

Ambas imágenes utilizarían argumentos de compilación con el mismo nombre pero con un valor diferente. Además, como hay docenas de argumentos de compilación, sería conveniente almacenarlos en un archivo de propiedades de compilación específico del servicio de redacción. ¿Es esto posible con docker-compose?

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Puede especificar los argumentos directamente en su archivo docker-compose:

 node1: build: context: node1 args: ADMIN_USERNNAME: weblogic1 ADMIN_PASSWORD: weblogic1 ADMIN_NAME: admin1 image: node1 container_name: node1

Vea un ejemplo completo: MWE

Los documentos oficiales tienen todos los detalles.

over 4 years ago · Santiago Trujillo Denunciar

0

En su Dockerfile :

 ARG CERTBOT_TAG=latest FROM certbot/certbot:${CERTBOT_TAG}

En su archivo docker-compose.yml :

 version: '3.4' services: certbot: build: context: . args: CERTBOT_TAG: v0.40.1

Y puede construir o mejorar su servicio:

 docker-compose build certbot
over 4 years ago · Santiago Trujillo Denunciar

0

Puede definir sus args con su comando de compilación de docker-compose.

Ejemplo de Dockerfile:

 FROM nginx:1.13 RUN apt-get -y update && apt-get install -y \ apache2-utils && \ rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* ARG username ARG password RUN htpasswd -bc /etc/nginx/.htpasswd $username $password

archivo docker-compose:

 version: '3' services: node1: build: ./dir

El ./dir contiene el Dockerfile y construyo con este comando:

 docker-compose build --build-arg username="my-user" --build-arg password="my-pass"

Ya veo:

 Step 5/5 : RUN htpasswd -bc /etc/nginx/.htpasswd $username $password ---> Running in 80735195e35d Adding password for user my-user ---> c52c92556825

Subo mi pila:

 docker-compose up -d

Ahora puedo verificar dentro del contenedor nginx y mi nombre de usuario y contraseña (encriptada) están allí:

 docker@default:~/test$ docker exec -it test_node1_1 bash root@208e4d75e2bd:/# cat /etc/nginx/.htpasswd my-user:$apr1$qg4I/5RO$KMaOPvjbnKdZH37z2WYfe1

Con este método, puede pasar argumentos de build args a su pila docker-compose .

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda