Docker commit 没有历史数据
Docker 评论 1 大约 778 字现象
Docker
打包自己的新镜像commit
后,再启动新镜像没有历史数据了。
原镜像启动命令
docker run -d \
--name=redis1
-v $PWD/redis/data:/data \
-v $PWD/redis/mydata:/mydata \
redis:latest
镜像默认容器卷
使用inspect
查看
docker inspect redis:latest
输出:
[
{
"ContainerConfig": {
"ExposedPorts": {
"6379/tcp": {}
},
"Volumes": {
"/data": {}
},
"WorkingDir": "/data",
},
"DockerVersion": "20.10.7",
"Config": {
"Volumes": {
"/data": {}
},
"WorkingDir": "/data"
}
}
]
原因
commit
不会对映射的文件夹及Volumes
容器卷的文件夹进行打包。
所以案例中的redis
容器映射了两个文件夹中的数据都不会被打包进新镜像。
解决办法
如果需要把数据打包进容器中,则需要在非映射文件夹和非Volumes
文件夹中存储数据,可以docker cp
命令从宿主机拷贝进容器,或从Volumes
文件夹拷贝数据,再进行commit
。
阅读 1472 · 发布于 2022-01-30
————        END        ————
Give me a Star, Thanks:)
https://github.com/fendoudebb扫描下方二维码关注公众号和小程序↓↓↓

昵称:
-
fHLvlxbf 1楼
e
Chrome | Windows 10 2023-07-24
随便看看
换一批
-
Spring Boot 获取 HttpServletRequest 的几种方式阅读 1581
-
Android 取消 EditText 下划线阅读 4289
-
MySQL 查询去重阅读 2226
-
算法:二叉树的啮齿形层序遍历(蛇形遍历)阅读 1394
-
Elasticsearch 监控运行状态阅读 2343
-
Kubernetes 数据存储 EmptyDir阅读 1163
-
SonarQube Java 单元测试覆盖率为零解决方法阅读 1241
-
Prometheus+Grafana+redis_exporter 监控 Redis 服务阅读 1249
-
Java G1 垃圾回收器阅读 1482
-
curl 不打印返回值信息阅读 526