亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

詳解Docker Compose 中可用的環(huán)境變量問(wèn)題

 更新時(shí)間:2018年12月07日 16:47:01   作者:kikajack  
Compose 的多個(gè)部分在某種情況下處理環(huán)境變量。這篇文章主要介紹了Docker Compose 中可用的環(huán)境變量問(wèn)題,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

Compose 的多個(gè)部分在某種情況下處理環(huán)境變量。本教程可以幫助你找到所需的信息。

1. 替換Compose文件中的環(huán)境變量

可以使用 shell 中的環(huán)境變量填充 Compose 文件中的值:

web:
 image: "webapp:${TAG}"

更多信息請(qǐng)參考 Compose 文件手冊(cè)中的 Variable substitution 章節(jié)。

2. 設(shè)置容器中的環(huán)境變量

可以通過(guò) environment 關(guān)鍵字設(shè)置服務(wù)容器中的環(huán)境變量,就跟使用 docker run -e VARIABLE=VALUE ... 一樣:

web:
 environment:
 - DEBUG=1

3. 將環(huán)境變量傳遞到容器

在使用 environment 關(guān)鍵字時(shí)不賦值,就可以將 shell 中的環(huán)境變量傳遞給服務(wù)容器,就跟使用 docker run -e VARIABLE ... 一樣:

web:
 environment:
 - DEBUG

容器中的 DEBUG 變量的值從運(yùn)行 Compose 的 shell 中的同名變量中獲取。

4. “env_file”配置選項(xiàng)

可以通過(guò) env_file 命令使用外部文件將多個(gè)環(huán)境變量傳遞到服務(wù)容器,就跟使用 docker run --env-file=FILE ... 一樣:

web:
 env_file:
 - web-variables.env

5. 使用 ‘docker-compose run'設(shè)置環(huán)境變量

就像 docker run -e 命令一樣,可以使用 docker-compose run -e 設(shè)置一次性容器上的環(huán)境變量:

docker-compose run -e DEBUG=1 web python console.py

也可以通過(guò)從 shell 中傳遞一個(gè)變量,而不是直接賦值:

docker-compose run -e DEBUG web python console.py

容器中的 DEBUG 變量的值從運(yùn)行 Compose 的 shell 中的同名變量中獲取。

6. “.env”文件

可以在名為.env 的環(huán)境文件 中為 Compose 文件中引用的任何環(huán)境變量設(shè)置默認(rèn)值,或者用于配置 Compose:

$ cat .env
TAG=v1.5

$ cat docker-compose.yml
version: '3'
services:
 web:
 image: "webapp:${TAG}"

運(yùn)行 docker-compose up 時(shí),上面定義的 web 服務(wù)使用 webapp:v1.5 鏡像??梢酝ㄟ^(guò)config 命令 將應(yīng)用程序的配置信息打印到終端來(lái)驗(yàn)證:

$ docker-compose config

version: '3'
services:
 web:
 image: 'webapp:v1.5'

shell 中的值優(yōu)先于 .env 文件中指定的值。如果在 shell 中將 TAG 設(shè)置為不同的值,則鏡像中將使用該值:

$ export TAG=v2.0
$ docker-compose config

version: '3'
services:
 web:
 image: 'webapp:v2.0'

當(dāng)在多個(gè)文件中設(shè)置相同的環(huán)境變量時(shí),以下是 Compose 用于選擇要使用的值的優(yōu)先級(jí):

  • Compose 文件
  • Environment 文件
  • Dockerfile
  • 變量未定義

在下面的例子中,我們?cè)?Environment 文件和 Compose 文件上設(shè)置了相同的環(huán)境變量:

$ cat ./Docker/api/api.env
NODE_ENV=test

$ cat docker-compose.yml
version: '3'
services:
 api:
 image: 'node:6-alpine'
 env_file:
  - ./Docker/api/api.env
 environment:
  - NODE_ENV=production

運(yùn)行容器時(shí),在 Compose 文件中定義的環(huán)境變量?jī)?yōu)先。

$ docker-compose exec api node

process.env.NODE_ENV
'production'

只有在 environment env_file 沒(méi)有 Docker Compose 條目時(shí),Dockerfile 中的任何 ARG ENV 設(shè)置才會(huì)評(píng)估(evaluate)。

NodeJS 容器的細(xì)節(jié)

如果你有腳本的 package.json 條目像 NODE_ENV=test node server.js 一樣啟動(dòng),那么這將覆蓋 docker-compose.yml 文件中的任何設(shè)置。

7. 使用環(huán)境變量配置 Compose

有幾個(gè)環(huán)境變量可用來(lái)配置 Docker Compose 命令行行為。它們以 COMPOSE_ 或 DOCKER_ 開(kāi)頭,并記錄在CLI 環(huán)境變量中。

8. 通過(guò) link 創(chuàng)建環(huán)境變量

在第一版 Compose 文件中使用 links 選項(xiàng)時(shí),會(huì)為每個(gè)鏈接創(chuàng)建環(huán)境變量。它們記錄在 Link環(huán)境變量參考 中。

但是,這些變量已被棄用。link 改為為主機(jī)創(chuàng)建別名。

原文地址

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 從零搭建docker私有倉(cāng)庫(kù)的步驟

    從零搭建docker私有倉(cāng)庫(kù)的步驟

    這篇文章主要介紹了從零搭建docker私有倉(cāng)庫(kù)的步驟,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-07-07
  • docker打包前端鏡像的超詳細(xì)步驟

    docker打包前端鏡像的超詳細(xì)步驟

    要打包前端項(xiàng)目可以使用 Docker 容器技術(shù),下面這篇文章主要給大家介紹了關(guān)于docker打包前端鏡像的超詳細(xì)步驟,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-11-11
  • Docker安裝MySQL8.0的實(shí)現(xiàn)方法

    Docker安裝MySQL8.0的實(shí)現(xiàn)方法

    這篇文章主要介紹了Docker安裝MySQL8.0的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • docker安裝java環(huán)境的實(shí)現(xiàn)步驟

    docker安裝java環(huán)境的實(shí)現(xiàn)步驟

    這篇文章主要介紹了docker安裝java環(huán)境的實(shí)現(xiàn)步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • 解決docker指定udp端口號(hào)的問(wèn)題

    解決docker指定udp端口號(hào)的問(wèn)題

    這篇文章主要介紹了解決docker指定udp端口號(hào)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-11-11
  • 批量刪除docker過(guò)期停止的容器的四種方法

    批量刪除docker過(guò)期停止的容器的四種方法

    過(guò)期的容器也是占用一部分的內(nèi)存空間,這時(shí)候如果對(duì)應(yīng)一個(gè)個(gè)刪除容器id,有些麻煩,有沒(méi)有方法對(duì)應(yīng)將其批量刪除呢,本文給大家介紹了批量刪除docker過(guò)期停止的容器的四種方法,需要的朋友可以參考下
    2024-02-02
  • 詳解docker nginx 容器啟動(dòng)掛載到本地

    詳解docker nginx 容器啟動(dòng)掛載到本地

    這篇文章主要介紹了詳解docker nginx 容器啟動(dòng)掛載到本地,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • Docker Nginx Log 三者的處理詳解

    Docker Nginx Log 三者的處理詳解

    這篇文章主要介紹了Docker Nginx Log 三者的處理詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-11-11
  • 一步步詳解如何在Ubuntu?18.04上安裝Docker

    一步步詳解如何在Ubuntu?18.04上安裝Docker

    Docker是基于Go語(yǔ)言實(shí)現(xiàn)的云開(kāi)源項(xiàng)目,下面這篇文章主要給大家介紹了關(guān)于如何在Ubuntu?18.04上安裝Docker的相關(guān)資料,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-06-06
  • Docker容器配置Nginx實(shí)例分享

    Docker容器配置Nginx實(shí)例分享

    這篇文章主要介紹了Docker容器配置Nginx實(shí)例分享的相關(guān)資料,需要的朋友可以參考下
    2016-10-10

最新評(píng)論