用dockerfile
生成镜像并挂载数据卷编写dockerfile
文件
- 创建
dockerfile01
文件
# 基础镜像FROM centosVOLUME ["volume01", "volume02"]CMD echo "-----end----"
docker build
构建镜像
docker build -f ./dockerfile01 -t xiao-centos .
![Docker | 使用dockerfile生成镜像,清理docker空间](http://shimg.jingyanzongjie.com/230725/1923161203-0.png)
文章插图
- 启动镜像
docker run -it 镜像ID /bin/bash
可以看到生成镜像时自动挂载的,数据卷目录![Docker | 使用dockerfile生成镜像,清理docker空间](http://shimg.jingyanzongjie.com/230725/19231CS8-1.png)
文章插图
以上
dockerfile
方式属于匿名挂载数据卷![Docker | 使用dockerfile生成镜像,清理docker空间](http://shimg.jingyanzongjie.com/230725/19231CI7-2.png)
文章插图
清理docker使用空间我个人使用的是单核2G的云服务器,用了快三年了,内存、cpu严重吃紧,所以就尝试了清理docker使用空间,主要是删除未使用过的镜像、容器、数据卷、网络命令,具体如下:
官方文档链接 https://docs.docker.com/config/pruning/
- 执行如下可以查看 Docker 的磁盘使用情况(类似于 Linux 上的 df 命令)
docker system df
- 删除所有未使用过的镜像
docker image prune -a
- 删除所有停止的容器
docker container prunedocker rm -f $(docker ps -aq)
- 仅删除超过 24 小时的停止容器
docker container prune --filter "until=24h"
数据卷永远不会自动删除,因为这样做可能会破坏数据
- 删除未使用的数据卷
docker volume prune
- 删除没有使用过的网络
docker network prune
- 删除所有未使用过的资源
docker system prune
手动删除/var/lib/docker/volumes的问题解决【Docker | 使用dockerfile生成镜像,清理docker空间】当时清理docker使用空间的时候,清过头了,一下子把挂载的数据卷也给顺手清理了,真是自己给自己找事做 。错误信息手动删除了挂载到宿主机上的所有数据卷,在启动容器挂载数据卷的时候就会报错
如下,重新运行容器,原先具名挂载数据卷
juming-nginx
,报错信息如下docker run -d -P --name nginx01 -v juming-nginx:/etc/nginx nginx
docker: Error response from daemon: open /var/lib/docker/volumes/juming-nginx/_data: no such file or directory.
尝试方法一(不建议使用):- 删除所有容器
- 删除所有镜像
- 重新运行一个新的容器并挂载数据卷
# 1docker rm -f $(docker ps -aq)# 2docker rmi -f $(docker images -aq)# 3.docker run -d -P --name nginx01 -v juming-nginx:/etc/nginx nginx# 还是报错
结论:无法解决问题,且删除所有容器、镜像存在的风险较大,不建议使用!
尝试方法二(推荐使用):
- 停止docker服务
- 重新启动docker服务
- 再次运行容器
# 1systemctl stop docker# 2systemctl restart docker# 3docker run -d -P --name nginx01 -v juming-nginx:/etc/nginx nginx# 没有报错,docker ps查看 成功运行
结论没有报错,
docker ps
查看,成功运行docker volume ls
查看镜像,可以看到具名数据卷juming-nginx
已显示出来了docker volume lsDRIVERVOLUME NAMElocala9b39215509378332ec9dfcdc3e10857b500694ea66efd9c2b7a6a9c55a2f10alocaljuming-nginx
我是 甜点cc热爱前端,也喜欢专研各种跟本职工作关系不大的技术,技术、产品兴趣广泛且浓厚,等待着一个创业机会 。本号主要致力于分享个人经验总结,希望可以给一小部分人一些微小帮助 。
经验总结扩展阅读
- 元气骑士宙斯之矛怎么使用
- 柠檬去异味的使用方法
- 点读笔怎么用
- 使用开源计算引擎提升Excel格式文件处理效率
- C++ 使用栈求解中缀、后缀表达式的值
- 裹粉可以用面粉代替吗
- 欧莱雅男士劲能醒肤露怎样使用?
- 分布式存储系统之Ceph集群启用Dashboard及使用Prometheus监控Ceph
- 炒菜锅涂层掉了有害吗
- 难蚌是什么意思