7
我試圖在構建期間在Docker容器中設置環境變量,但沒有成功。使用運行命令時設置它們,但我需要在構建過程中設置它們。如何在Docker中構建期間設置環境變量
Dockerfile
FROM ubuntu:latest
ARG TEST_ENV=something
命令我使用的是建立
docker build -t --build-arg TEST_ENV="test" myimage .
運行
docker run -dit myimage
我用
docker exec containerid printenv
0123檢查可用的環境變量
,其結果是
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
HOSTNAME=e49c1abfd58b
TERM=xterm
no_proxy=*.local, 169.254/16
HOME=/root
TEST_ENV不存在
使用'ENV'添加的環境變量,但使用'搬運工建立-t臨時--build-ARG BUILD_TIME = def'打印「一個或多個集結ARGS [BUILD_TIME]是沒有消耗,失敗的構建。「。 有助於單獨添加'ARG BUILD_TIME_ARG =默認值'和'ENV BUILD_TIME = $ BUILD_TIME_ARG'。你能將它添加到你的答案嗎? 感謝您的幫助。 –
我剛剛意識到你可以用'ENV'命名'ARG'。 'ARG BUILD_TIME =默認'ENV BUILD_TIME = $ BUILD_TIME' –
具有諷刺意味的是,埃爾頓的答案並不正確。邁克爾的最後一條評論點擊了頭部,並展示瞭如何通過構建實際設置環境變量(撰寫本文時)。 –