在docker中,通過(guò)環(huán)境變量來(lái)設(shè)置一些配置信息非常方便。這種方式適合于我們將相應(yīng)的配置信息與容器分離,提高了配置信息的可維護(hù)性。但是有時(shí)候,我們需要同時(shí)設(shè)置多個(gè)環(huán)境變量,該怎么辦呢?下面將簡(jiǎn)要介紹docker多個(gè)環(huán)境變量的設(shè)置方式。
一種簡(jiǎn)單的方式是在Dockerfile中逐個(gè)聲明。例如:
ENV var1=value1 ENV var2=value2 ENV var3=value3
但是,這種方法顯然比較繁瑣,而且難以維護(hù)。因此,更好的方式是使用docker-compose文件中的“environment”關(guān)鍵字來(lái)設(shè)置多個(gè)環(huán)境變量。例如:
version: '3' services: myservice: image: myimage environment: var1: value1 var2: value2 var3: value3
當(dāng)您在docker-compose中使用此語(yǔ)法時(shí),會(huì)將多個(gè)環(huán)境變量分別設(shè)置為相應(yīng)的值。此外,您還可以使用.env文件來(lái)聲明環(huán)境變量,如下所示:
var1=value1 var2=value2 var3=value3
然后,在docker-compose文件中可以使用“env_file”關(guān)鍵字,如下所示:
version: '3' services: myservice: image: myimage env_file: - .env
在這個(gè)例子中,docker-compose會(huì)將所有在.env文件中聲明的環(huán)境變量加載到容器中。這種方式避免了在docker-compose文件中重復(fù)定義環(huán)境變量的麻煩。
總之,docker提供了很多靈活的方式來(lái)設(shè)置多個(gè)環(huán)境變量。您可以根據(jù)需要選擇最合適的方法來(lái)實(shí)現(xiàn)您的需求。