Tengo docker-compose.yml de la siguiente manera:
version: '2' services: eureka-server: image: some-dtr-name/some-orgname/some-reponame:some-versionname mem_limit: somememory environment: SPRING_PROFILES_ACTIVE: some-profile JAVA_OPTS: -Xms256m -Xmx512m ports: - "some-port:some-port" restart: always networks: - cloud networks: cloud: driver: bridgeQuiero pasar some-dtr-name, some-orgname, some-reponame, some-versionname, somememory, some-profile, some-profile, some-port como un aurgumento para el archivo docker-compose. Estoy haciendo esta tarea usando un archivo de shell.
#!/bin/bash some-dtr-name="$1" some-orgname="$2" some-reponame="$3" some-versionname="$4" somememory="$5" some-profile="$6" some-profile="$7" some-port="$8" docker-compose upcomo puedo hacer esta tarea??
Docker compose admite la sustitución de variables de entorno mediante la sintaxis ${} : https://docs.docker.com/compose/compose-file/#variable-substitution
Entonces, si tiene definida la variable de entorno some_port , antes de ejecutar docker-compose , puede referirse a ella como ${some_port} en su archivo docker-compose.
ports: - "${some_port}:${some_port}" Otra cosa a tener en cuenta es que los nombres de las variables en su código de muestra contienen guiones - lo cual no es válido en bash
nombre Una palabra que consta únicamente de caracteres alfanuméricos y guiones bajos, y que comienza con un carácter alfabético o un guión bajo. También conocido como identificador.
tienes que usar el carácter de subrayado _ en su lugar.