How can I pass the argument to docker-compose.yml using shell file -
i have docker-compose.yml follows:
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: networks: - cloud networks: cloud: driver: bridge
i want pass some-dtr-name,some-orgname,some-reponame,some-versionname,somememory,some-profile,some-profile,some-port aurgument docker-compose file. doing task using shell file.
#!/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
how can task ??
docker compose supports environment variable substitution, using ${}
syntax: https://docs.docker.com/compose/compose-file/#variable-substitution
so if have environment variable some_port
defined, before run docker-compose
, can refer ${some_port}
in docker-compose file.
ports: - "${some_port}:${some_port}"
another thing note variable names in sample code contain dashes -
, not valid in bash
name word consisting of alphanumeric characters , underscores, , beginning alphabetic character or underscore. referred identifier.
you have use underscore character _
instead.
Comments
Post a Comment