关于修改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 是不会自动保存的。

相关推荐
Decay__6 小时前
VMware 安装 SQL Server 双节点 AlwaysOn 可用性组教程 —— WSFC、AG 与侦听器完整部署(系列核心篇)
运维·数据库·sql·mysql·架构
测试界的小码农6 小时前
【Linux 命令实战(06):Linux 文件权限管理,掌握 chmod、chown、chgrp】
linux·运维·服务器
陈希1237 小时前
负载均衡与高可用:LVS、HAProxy、Keepalived 实战
运维·负载均衡·lvs
SQL7711 小时前
IT运维发展史,一部宏伟史诗
运维·运维发展史
分布式存储与RustFS12 小时前
Terraform 状态文件老在本地丢、并发还撞锁:把 state 锁进 RustFS
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
csdn_aspnet12 小时前
macOS 10 、Docker 玩轉 MySQL
运维·mysql·macos·docker·容器·mac
对象存储与RustFS13 小时前
Jenkins 的构建产物别堆在控制器磁盘:用 RustFS 当它的 S3 工件仓库
后端·docker·云原生
爱和冰阔落14 小时前
【Linux网络】TCP 半包粘包怎么解决?从长度报头、JSON 拆包到网络计算器完整实战
linux·运维·网络·tcp/ip
无奈笑天下1 天前
银河麒麟上nproc命令教程详解
linux·运维·服务器
威嵌神州1 天前
嵌入式排故实录:高并发下串口数据“超时丢包”的根因剖析与架构优化
运维·服务器·嵌入式硬件·缓存