docker build 变量_在docker镜像中加入环境变量

本文介绍了两种在Docker镜像中添加环境变量的方法:直接添加变量和通过Dockerfile的ARG和ENV。重点讨论了多阶段构建如何在保留所需文件的同时移除包含保密信息的环境变量。通过示例解释了ARG变量在镜像构建过程中的作用,并展示了如何将其传递给ENV以在容器中使用。
摘要由CSDN通过智能技术生成

a5dd8ce2d958345f3d7c4c64357922c3.png

公众号原文

https://mp.weixin.qq.com/s?__biz=MzUyNzk4MjA5NQ==&mid=2247483786&idx=1&sn=873e9b1e17be0ab91f927904541d18fe&chksm=fa760aeacd0183fc598a0c777d0dae7e417c975c820d38fd05f05cab6adeb0b2dbae66bcbafd&token=838806874&lang=zh_CN#rd​mp.weixin.qq.com

一日一言

没有任何动物比蚂蚁更勤奋,然而它却最沉默寡言。

——富兰克林

前言

reference: https:// vsupalov.com/docker-bui ld-time-env-values/

很多时候,我们需要在docker镜像中加入环境变量,本人了解的有2种方法可以做到

第一种

使用docker run --env VARIABLE=VALUE image:tag直接添加变量,适用于直接用docker启动的项目

root@ubuntu:/home/vickey/test_build# docker run --rm -it --env TEST=2 ubuntu:latest
root@2bbe75e5d8c7:/# env |grep "TEST"
TEST=2

第二种

使用dockerfile的ARGENV添加变量,适用于不能用docker run命令启动的项目,如k8s

ARG只在构建docker镜像时有效(dockerfile的RUN指令等),在镜像创建了并用该镜像启动容器后则无效(后面有例子验证)。但可以配合ENV指令使用使其在创建后的容器也可以生效。
ARG buildtime_variable=default_value        # if not set default_value buildtime_variable would be set ''
ENV env_var_name=$buildtime_variable

在构建映像时,可以使用--build-arg buildtime_variable=other_value覆盖dockerfile里的变量值default_value</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值