环境变量指的是在 container 的 shell 进程中可以使用的变量,在 shell 中可以使用 env 或者 printenv 命令展示显示环境变量列表。
使用 docker-compose exec <container-name> sh 可以打开一个 shell 进程,然后在 shell 中使用 env 或者 printenv 展示环境变量列表。
1、Dockerfile 文件中设置
可以使用 ENV 关键字设置环境变量。
ENV <key>=<value>也可以在变量名前添加 $来设置环境变量。
2、docker run 命令的 -e(--env) 选项
$ docker run -d -e TEST="value" my-ap:1.03、Docker compose
Docker compose 中也可以设置环境变量,这里推荐一个非常不错的教程《Environment variables in Compose》,里面有详细的介绍。这里对教程做一个简短的总结,可以在 docker-compose.yml 文件中使用 environment 选项设置环境变量。
services:
web-app:
environment:
- TEST="value"也可以使用单独的环境变量文件 —— .env 文件,docker-compose CLI 将自动加载 build 命令执行的同级目录下的 .env 文件中设置的环境变量,如果环境变量文件的名称不是 .env,那么可以通过 --env-file 选项指定文件名称,或者使用 docker-compose.yml 文件中的 env_file 字段指定。
$ docker-compose --env-file .env.dev upservices:
web-app:
env_file: .env.dev也可以在 docker-compose run 命令的 -e 选项设置环境变量。
$ docker-compose run -e TEST="value" web-app echo "Hello world"Resources