使用大图像时遇到的问题是Docker在从中创建容器时会复制所有数据:因此,在Docker VM上拥有25gb映像和容器需要大约50gb。 我做错了什么或Docker总是这样运作?如果是这样,为什么? E. g。在Git中,您可以在克隆回购后直接使用代码,大多数情况下您不需要再创建一个分支或其他副本。
P上。 S.我的用例如下:我想保留我的MySQL数据库的不同版本(因为目前它是由开发人员专门更改而且不经常发生)并且因为我想启用快速恢复(MySQL允许恢复的唯一方式)来自* .sql文件,需要7个小时 - 太长时间才能自由地使用db)
答案 0 :(得分:0)
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会将所有图片内容复制到新容器中。但我不确定。
此致