乐趣区

关于前端:Docker-使用dockerfile生成镜像清理docker空间

dockerfile 生成镜像并挂载数据卷

编写 dockerfile 文件

  1. 创立dockerfile01 文件
# 根底镜像
FROM centos

VOLUME ["volume01", "volume02"]

CMD echo "-----end----"
  1. docker build 构建镜像
docker build -f ./dockerfile01 -t xiao-centos .
  1. 启动镜像
docker run -it 镜像 ID /bin/bash

能够看到生成镜像时主动挂载的,数据卷目录

以上 dockerfile 形式属于匿名挂载数据卷

清理 docker 应用空间

我集体应用的是单核 2G 的云服务器,用了快三年了,内存、cpu 重大吃紧,所以就尝试了清理 docker 应用空间,次要是删除未应用过的镜像、容器、数据卷、网络命令,具体如下:

官网文档链接 https://docs.docker.com/config/pruning/

  • 执行如下能够查看 Docker 的磁盘应用状况(相似于 Linux 上的 df 命令)
docker system df
  • 删除所有未应用过的镜像
docker image prune -a
  • 删除所有进行的容器

    docker container prune
    docker 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 应用空间的时候,清过头了,一下子把挂载的数据卷也给棘手清理了🤣,真是本人给本人找事做。

错误信息

手动删除了挂载到宿主机上的所有数据卷,在启动容器挂载数据卷的时候就会报错

如下,从新运行容器,原先具名挂载数据卷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.

尝试办法一(不倡议应用):

  1. 删除所有容器
  2. 删除所有镜像
  3. 从新运行一个新的容器并挂载数据卷

    # 1
    docker rm -f $(docker ps -aq)
    
    # 2
    docker rmi -f $(docker images -aq)
    
    # 3.
    docker run -d -P --name nginx01 -v juming-nginx:/etc/nginx nginx
    
    # 还是报错

论断:

无奈解决问题,且删除所有容器、镜像存在的危险较大,不倡议应用!

尝试办法二(举荐应用):

  1. 进行 docker 服务
  2. 重新启动 docker 服务
  3. 再次运行容器
# 1
systemctl stop docker

# 2
systemctl restart docker

# 3
docker run -d -P --name nginx01 -v juming-nginx:/etc/nginx nginx

# 没有报错,docker ps 查看 胜利运行

论断

没有报错,docker ps查看,胜利运行

docker volume ls 查看镜像,能够看到具名数据卷 juming-nginx 已显示进去了

docker volume ls
DRIVER    VOLUME NAME
local     a9b39215509378332ec9dfcdc3e10857b500694ea66efd9c2b7a6a9c55a2f10a
local     juming-nginx

我是 甜点 cc

酷爱前端,也喜爱专研各种跟本职工作关系不大的技术,技术、产品趣味宽泛且浓重,期待着一个守业机会。本号次要致力于分享集体经验总结,心愿能够给一小部分人一些渺小帮忙。

心愿能和大家一起致力营造一个良好的学习气氛,为了集体和家庭、为了我国的互联网物联网技术、数字化转型、数字经济倒退做一点点奉献。数风流人物还看中国、看今朝、看你我。

退出移动版