2017-04-07 31 views
2

我有搬运工人,compose.yml如下,以泊坞窗,compose.yml:如何传递参数使用shell文件

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: bridge 

我想通过一些-DTR-名,一些-ORGNAME,一些-reponame,some-versionname,somememory,some-profile,some-profile,some-port作为docker-compose文件的参数。 我正在使用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 up 

我该怎么做这个任务?

回答

0

泊坞撰写支持环境变量替换,使用${}语法:https://docs.docker.com/compose/compose-file/#variable-substitution

所以,如果你有定义的环境变量some_port,运行docker-compose之前,你就可以只称其为${some_port}在docker-撰写文件。

ports: 
- "${some_port}:${some_port}" 

另一个要注意的是,在你的示例代码中的变量名包含破折号-,这是无效的bash

名只包含字母数字字符和下划线的字,并与开始字母字符或下划线。也被称为标识符。

您必须改用下划线字符_