Docker教程之使用dockerfile生成镜像

bangongJIAO1@c 发布于 2025-12-14 阅读(4)
目录
  • 用dockerfile生成镜像并挂载数据卷
    • 编写dockerfile文件
  • 清理docker使用空间
    • 手动删除/var/lib/docker/volumes的问题解决
      • 错误信息
      • 尝试方法一(不建议使用):
      • 尝试方法二(推荐使用):

    用dockerfile生成镜像并挂载数据卷

    编写dockerfile文件

    创建dockerfile01 文件

    # 基础镜像
    FROM centos
    
    VOLUME ["volume01", "volume02"]
    
    CMD echo "-----end----"
    

    docker build 构建镜像

    docker build -f ./dockerfile01 -t xiao-centos .

    Docker教程之使用dockerfile生成镜像

    启动镜像

    docker run -it 镜像ID /bin/bash

    可以看到生成镜像时自动挂载的,数据卷目录

    Docker教程之使用dockerfile生成镜像

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

    Docker教程之使用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使用空间的时候,清过头了,一下子把挂载的数据卷也给顺手清理了