2017-04-07 20 views
2

を使用して引数を渡すことができます。どのように私は次のように私はドッカ-compose.ymlを持っドッカー-compose.ymlをするためのシェルファイル

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 

私は、いくつかの-ORGNAMEをいくつか-DTR-名を渡したい、いくつかの-reponame、some-versionname、somememory、some-profile、some-profile、some-portをdocker-composeファイルに書き換えます。 シェルファイルを使用してこの作業を行っています。

#!/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 

このタスクを実行するにはどうすればよいですか?あなたがdocker-composeを実行する前に、あなたがちょうどあなたのdocker-に${some_port}としてそれを参照することができ、環境変数some_portが定義されているのであればhttps://docs.docker.com/compose/compose-file/#variable-substitution

答えて

0

ドッカーのコンは${}構文を使用して、環境変数の置換をサポートしていますファイルを作成します。

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

注意すべきもう一つは、あなたのサンプルコード内の変数名は bash

名は英数字のみとアンダースコアからなる単語では有効ではありませんこれは、ダッシュ-を含み、そして始まるということです英字またはアンダースコア。識別子とも呼ばれます。

代わりにアンダースコア_を使用する必要があります。

関連する問題