Docker commit 没有历史数据
Docker About 778 words现象
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
。
Views: 1,998 · Posted: 2022-01-30
————        END        ————
Give me a Star, Thanks:)
https://github.com/fendoudebb/LiteNote扫描下方二维码关注公众号和小程序↓↓↓
Loading...