docker commit构建镜像时环境变量不生效问题解决

描述

当使用 docker commit 命令提交容器镜像时,环境变量的配置并不会自动生效。

原因

这是因为 docker commit 命令只是将容器的当前状态保存为一个新的镜像,并不会修改容器的运行时配置。

甚至在容器修改profile配置文件后进行docker commit都不会直接生效,需要新镜像启动后使用source /etc/profile刷新才可以。

解决

要使环境变量生效,可以在 Dockerfile 中使用ENV指令来定义环境变量,然后通过docker build命令重新构建镜像。这样做会将环境变量的配置嵌入到新的镜像中,确保在容器启动时生效。

bash 复制代码
FROM base_image:tag

# 设置环境变量
ENV MY_VAR=value

# 其他的构建步骤
...

然后,通过命令docker build -t my_image .构建镜像,

在这个过程中,MY_VAR 这个环境变量会被嵌入到新的镜像中。当使用这个新镜像来运行容器时,环境变量则会生效。

相关推荐
赵 XiaoQin9 小时前
【无标题】
docker
Lynnxiaowen10 小时前
今天我们继续学习Kubernetes内容pod资源对象
运维·学习·容器·kubernetes·云计算
may_一一12 小时前
docker安装的redis状态一直是restarting
java·redis·docker
cike_y12 小时前
浅谈用docker搭建一个ctf镜像
运维·安全·网络安全·docker·容器·ctf
自己的九又四分之三站台13 小时前
Docker容器启动中需要增加一个端口
docker·容器·eureka
cqsztech13 小时前
docker环境下 Oracle 19c 标准版如何转换为19c 企业版
docker·oracle·容器
❀͜͡傀儡师14 小时前
docker部署 paperless-ngx
运维·docker·容器
卌卄14 小时前
Linux下安装Docker
linux·运维·docker
派阿喵搞电子14 小时前
配置srs的鉴权时遇到的问题
服务器·docker·容器·srs