Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

751
Visualizações
¿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 Respostas
Responde à pergunta

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 Relatório

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda