关于修改docker容器中的内容进行保存的问题

不会保存。这个脚本默认是用 docker run 来启动容器的,该命令启动的容器都是临时容器。

容器内的文件修改都只存在于运行时,容器退出后所有的修改都会被丢弃。

如果需要保存容器内的修改,有以下几种方法:

bash 复制代码
1. 使用 docker commit 命令,可以将运行中的容器保存为新镜像。下次就可以从该镜像启动一个包含修改的新容器。
2. 使用 volume 目录挂载,可以将主机目录挂载到容器内,实现双向同步。例如上例脚本中的 -v $SHARED_HOST_DIR:$SHARED_DOCKER_DIR:rw 就是共享主机目录到容器。
3. 使用 docker run 参数 --rm=false,可以在容器退出后保留容器记录,下次重新启动的时候就可以恢复。
4. 使用 Dockerfile 构建镜像的方式,每次修改后重建镜像。

综上,如果需要保存容器内修改,需要额外的操作来提交修改或者挂载主机目录。默认情况下 docker run 是不会自动保存的。

相关推荐
Madison-No78 小时前
搭建项目测试环境
linux·运维·服务器·python
吴声子夜歌9 小时前
Shell编程实例——编写安全的shell脚本(二)
linux·运维·shell
悠悠121389 小时前
微服务通信别只看性能:REST 与 gRPC 的 6 个选型判断和一次 502 故障复盘
运维·服务器
zx_7414848111 小时前
【Linux入门】Shell 函数、正则表达式与文本处理:cut 与 awk
linux·运维·正则表达式
Zenova EdgeOS11 小时前
Linux dmesg 工业边缘实战:内核日志过滤、持久化与故障定位
linux·运维·边缘计算·工业边缘·dmesg·内核日志
九皇叔叔11 小时前
K8S 资源菜单
docker·容器·kubernetes·k8s
wdfk_prog12 小时前
ROS教程08:从 TransportTCP::connect() 追到 TCPROS Connection Header、序列化与 Socket 数据传输
运维·缓存·docker·容器·ros
Zhu75812 小时前
docker环境快速部署postgresql数据库18及以上版本
postgresql·容器
做运维的阿瑞12 小时前
Python 标准库汇总:分类速览与常用模块清单
linux·运维·python
zoutao9813 小时前
Gitea Actions 自定义 Runner 镜像与自动化部署实战
ci/cd·docker·gitea