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

相关推荐
yannan201903133 小时前
Docker容器
运维·docker·容器
小宁爱Python4 小时前
Windows Docker Desktop占用C盘空间过大解决办法集合
运维·docker·容器
JAVA学习通4 小时前
发布自己的 jar 包到 Maven 中央仓库 ( mvnrepository.com )
人工智能·docker·自然语言处理·容器·rocketmq
木亦汐丫7 小时前
Docker 镜像版本Alpine、Slim、Bookworm、Bullseye、Stretch、Jessie
运维·docker·容器·debian·alpine·slim·bullseye
中草药z9 小时前
【Docker】零基础上手:原理+Ubuntu/Windows GUI 安装 + 镜像源 / 目录优化
运维·ubuntu·docker·容器·gui·安装·cgroups
勇往直前plus9 小时前
如何利用docker部署springboot应用
spring boot·docker·容器
有谁看见我的剑了?13 小时前
k8s storageclasses nfs-provisioner 部署
docker·容器·kubernetes
忧郁的橙子.13 小时前
安装插件遇到报错时间错误导致签证失败 Errors during downloading metadata for repository ‘baseos‘:
docker
超龄超能程序猿14 小时前
Docker 镜像的导出和还原操作
运维·docker·容器
维尔切14 小时前
Docker 监控平台部署
运维·docker·容器·grafana·prometheus