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 这个环境变量会被嵌入到新的镜像中。当使用这个新镜像来运行容器时,环境变量则会生效。

相关推荐
joker_zsl17 分钟前
docker的安装和简单使用(ubuntu环境)
运维·docker·容器
啥都想学的又啥都不会的研究生1 小时前
Kubernetes in action-初相识
java·docker·微服务·容器·kubernetes·etcd·kubelet
赵我说的做_life2 小时前
基于Docker的Flask项目部署完整指南
docker·容器·flask
江畔独步3 小时前
docker容器监控&自动恢复
docker·容器·eureka
iangyu3 小时前
centos7部署k8s集群
云原生·容器·kubernetes
时迁2475 小时前
【k8s】k8s是怎么实现自动扩缩的
云原生·容器·kubernetes·k8s
诡异森林。8 小时前
Docker--Docker网络原理
网络·docker·容器
ALex_zry9 小时前
Docker Macvlan网络配置实战:解决“network already exists“错误
网络·docker·php
IT小辉同学9 小时前
Docker如何更换镜像源提高拉取速度
spring cloud·docker·eureka
matrixlzp10 小时前
K8S Service 原理、案例
云原生·容器·kubernetes