为什么docker把镜像和镜像容器都放在VM上



我在处理大型图像时遇到的问题是,当您从中创建容器时,Docker会复制所有数据:因此在Docker VM上拥有25gb的图像和容器总共需要大约50gb。是我做错了什么还是Docker总是这样工作?如果是,为什么?例如,在Git中,你可以在克隆了repo后直接使用代码,大多数时候你不需要再做一个分支或其他的拷贝。

p。我的用例如下:我想保留不同版本的MySQL数据库(因为目前它是由开发人员专门更改的,而且这种情况并不经常发生),因为我想启用快速恢复(MySQL允许恢复的唯一方法是从*。SQL文件,它需要7个小时-太长了,不能自由地玩db)

MySql数据库至少使用官方镜像卷。您只需要两个具有相同映像的容器,使用不同的命名卷:

docker create volume devdb
docker run --name devdb -v devdb:/var/lib/mysql -p 3306:3306-e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql

另一个给你:

docker create volume mydb
docker run --name mydb -v mydb:/var/lib/mysql -p 3307:3306 -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql

并且我担心docker会将所有的图像内容复制到新的容器中。但我不确定。

最新更新