gpt4 book ai didi

Docker - 从容器中列出在 dockerfile 中定义的环境变量

转载 作者:行者123 更新时间:2023-12-02 18:27:12 25 4
gpt4 key购买 nike

有没有办法从容器中列出 dockerfile(或 docker-compose.yml)中定义的所有环境变量,但 仅限 在 dockerfile 中定义的那些,没有像 PATH 这样的变量, PS1 , TERM ,... ??

我的容器是 php-apache-dev来自基于 ubuntu 镜像的 webdevops 容器。

最佳答案

您不应该仅仅为了 ENV 而分配 root 特权,最好打印所有 env 并排除您不感兴趣的系统环境。

最好的选择是仅使用 Dockerfile 中定义的 grep 打印从 WEB_ 开始的所有环境。 ,正如您提到的 Dockerfile ENV 都从 WEB_* 开始.

ENV WEB_DOCUMENT_ROOT=/app \
WEB_DOCUMENT_INDEX=index.php \
WEB_ALIAS_DOMAIN=*.vm \
WEB_PHP_TIMEOUT=600 \
WEB_PHP_SOCKET=""
ENV WEB_PHP_SOCKET=127.0.0.1:9000
ENV WEB_NO_CACHE_PATTERN="\.(css|js|gif|png|jpg|svg|json|xml)$"

所以这只会打印 Dockerfile ENV。
docker run -it --rm webdevops/php-apache-dev printenv | grep -E "^WEB"

或者排除一些变量,你可以尝试
docker run -it --rm webdevops/php-apache-dev printenv | grep -vE "^PATH|^HOME|^TERM" 

这不会显示您提到的您不感兴趣的 ENV。

关于Docker - 从容器中列出在 dockerfile 中定义的环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59326760/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com