2017-04-07 62 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

名只包含字母數字字符和下劃線的字,並與開始字母字符或下劃線。也被稱爲標識符。

您必須改用下劃線字符_