一个简单的项目,学习多种方式向 Docker 容器中传递环境变量
docker build -t wxh16144/learn-docker-env:latest . # <= 注意最后的点
# or
docker pull wxh16144/learn-docker-env:latest # <= 从 Docker Hub 拉取
docker run --rm -it -e MY_FOO=bar wxh16144/learn-docker-env:latest
➜ docker run --rm -it -e MY_FOO=bar wxh16144/learn-docker-env:latest
============================================================================
========================== ENVIRONMENT VARIABLES ===========================
============================================================================
HOSTNAME=83479b1e89e0
MY_FOO=bar
SHLVL=1
HOME=/root
TERM=xterm
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PWD=/app
============================================================================
========================== END OF ENVIRONMENT VARIABLES ====================
============================================================================
Container is running. Press Ctrl+C to exit.
docker-compose.yml
services:
learn-docker-env:
image: wxh16144/learn-docker-env:latest
environment:
MY_BAR: bar
============================================================================
========================== ENVIRONMENT VARIABLES ===========================
============================================================================
HOSTNAME=42f8af0b7093
SHLVL=1
HOME=/root
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
MY_BAR=bar
PWD=/app
============================================================================
========================== END OF ENVIRONMENT VARIABLES ====================
============================================================================
Container is running. Press Ctrl+C to exit.
.env
MY_BAZ=bar
docker-compose.yml
services:
learn-docker-env:
image: wxh16144/learn-docker-env:latest
env_file:
- .env
============================================================================
========================== ENVIRONMENT VARIABLES ===========================
============================================================================
HOSTNAME=bdda7aa8cd0e
SHLVL=1
HOME=/root
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PWD=/app
MY_BAZ=bar
============================================================================
========================== END OF ENVIRONMENT VARIABLES ====================
============================================================================
Container is running. Press Ctrl+C to exit.
MY_ 开头的环境变量传递给容器docker run -it --rm \
$(printenv | grep '^MY_' | sed 's/^/-e /') \
wxh16144/learn-docker-env:latest
printenv | grep '^MY_':获取所有以 MY_ 开头的环境变量。sed 's/^/-e /':在每个环境变量前面加上 -e 选项,以便 docker run 能够识别它们。Read more: Environment variables in Compose
docker-compose.yml
services:
learn-docker-env:
image: wxh16144/learn-docker-env:latest
environment:
MY_FOO: ${MY_FOO:default}
Content type
Image
Digest
sha256:c42ddbcd1…
Size
4.7 MB
Last updated
almost 2 years ago
docker pull wxh16144/learn-docker-env