用dockerfile生成镜像并挂载数据卷
编写dockerfile文件
创建dockerfile01 文件
docker build 构建镜像
启动镜像
可以看到生成镜像时自动挂载的,数据卷目录
以上dockerfile方式属于匿名挂载数据卷
清理docker使用空间
我个人使用的是单核2G的云服务器,用了快三年了,内存、cpu严重吃紧,所以就尝试了清理docker使用空间,主要是删除未使用过的镜像、容器、数据卷、网络命令,具体如下:
官方文档链接 https://docs.docker.com/config/pruning/
执行如下可以查看 Docker 的磁盘使用情况(类似于 Linux 上的 df 命令)
删除所有未使用过的镜像
删除所有停止的容器
仅删除超过 24 小时的停止容器
数据卷永远不会自动删除,因为这样做可能会破坏数据
删除未使用的数据卷
删除没有使用过的网络
删除所有未使用过的资源
手动删除/var/lib/docker/volumes的问题解决
当时清理docker使用空间的时候,清过头了,一下子把挂载的数据卷也给顺手清理了🤣,真是自己给自己找事做。
错误信息
手动删除了挂载到宿主机上的所有数据卷,在启动容器挂载数据卷的时候就会报错
如下,重新运行容器,原先具名挂载数据卷juming-nginx,报错信息如下👇
docker run -d -P --name nginx01 -v juming-nginx:/etc/nginx nginx
尝试方法一(不建议使用):
删除所有容器
删除所有镜像
重新运行一个新的容器并挂载数据卷
结论:
无法解决问题,且删除所有容器、镜像存在的风险较大,不建议使用!
尝试方法二(推荐使用):
停止docker服务
重新启动docker服务
再次运行容器
结论
没有报错,docker ps查看,成功运行
docker volume ls 查看镜像,可以看到具名数据卷juming-nginx已显示出来了
到此这篇关于Docker教程之使用dockerfile生成镜像的文章就介绍到这了,更多相关dockerfile生成镜像内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!