You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker容器重启后数据重置如何禁用?新手技术求助

Docker容器重启后安装的软件消失的问题解决

首先得说清楚:Docker容器本身没有什么“数据重置功能”,你遇到的情况是由容器的文件系统特性决定的。

  • 容器是基于镜像创建的,镜像的文件系统是只读的,容器启动后会在镜像之上加一层可写临时层。你在容器里安装nano,其实是把文件写到了这个临时层里。
  • 如果只是停止容器再启动(docker stop <容器ID> + docker start <容器ID>),这个临时层不会消失,nano应该还在;但如果你是删除了旧容器,再用docker run重新创建新容器,那新容器会重新生成一个干净的临时层,之前装的nano自然就没了。

想要让安装的软件永久保留,有两种靠谱的方式:

1. 把修改后的容器打包成新镜像

  • 先找到你安装了nano的容器ID:docker ps -a
  • 用这个容器生成新镜像:docker commit <容器ID> my-custom-image:v1
  • 之后用新镜像启动容器:docker run my-custom-image:v1,这次里面就自带nano了

2. 用Dockerfile构建自定义镜像(更推荐)

这种方式比手动commit更规范,也方便后续修改维护。写一个名为Dockerfile的文件,内容如下:

# 替换成你实际拉取的镜像名称,比如ubuntu:latest
FROM 你的基础镜像名
RUN apt-get update && apt-get install -y nano

然后在Dockerfile所在目录执行构建命令:
docker build -t my-custom-image:v1 .
构建完成后,用这个新镜像启动容器即可。

另外提醒一句:如果你启动容器时加了--rm参数,容器停止后会自动被删除,下次再启动就是全新的容器,之前的修改也会丢失,记得避免这种情况。

内容的提问来源于stack exchange,提问作者Xovobobo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 15:05:13