维持一个长久运行的容器以供调试,加sleep infinity
容器停止后,自动删除这个容器 –rm
例子
docker run -dit – -device=/dev/kfd – -device=/dev/dri – -group-add video – -runtime=runc – -name ubuntu-alwayson qinzhen/comfyui-rocm:0.9.1 sleep infinity
之后使用 docker exec -it ubuntu-alwayson bash 进入,在宿主机使用docker restart ubuntu-alwayson 重启
AMD Rocm&Pytorch easy install
https://rocm.docs.amd.com/projects/install-on-linux/en/develop/install/3rd-party/pytorch-install.html
在容器内做了修改之后可以使用一下命令提交变更
docker commit “运行中的容器ID” “镜像名,如:qinzhen/xxxx”
做一个正式镜像
目录里建立Dockerfile文件,里面写上配置
docker build -t “镜像名” . (不要忘记有.)
docker push “镜像名”
清除Docker build的缓存
docker builder prune / docker builder prune -f / docker builder prune -af
改名
# Tag the existing image with a new name
docker tag old_image_name:latest new_image_name:latest
# Optionally, remove the old tag
docker rmi old_image_name:latest
Docker image 删除之后空间没有释放
这是 Docker 非常经典、但也很容易误解的问题。先给你一句结论:
删除 docker image ≠ 立刻释放磁盘空间
真正占空间的,往往是 容器、匿名 volume、build cache、overlay 层。
下面一步一步帮你把空间真正清干净,并告诉你每一步在清什么。
一、先确认:空间到底被谁占着(必须做)
先跑这条:
docker system df
你会看到类似:
TYPE TOTAL ACTIVE SIZE RECLAIMABLE
Images 12 0 45GB 45GB (100%)
Containers 8 0 10GB 10GB (100%)
Local Volumes 15 2 80GB 60GB (75%)
Build Cache 23 0 35GB 35GB
👉 关键看 RECLAIMABLE,不是 SIZE
👉 这一步是“指路牌”,决定你下一步该删什么