macos - 'docker-compose up' 表示删除后图像已经存在
问题描述
我试图从一个干净的石板开始,使用“docker-compose up”拉下并运行的图像。所以我尝试运行这些 docker 命令来清理:
docker rmi $(docker images -aq)
docker rm $(docker ps -aq) -f
docker system prune --all
但是当我运行 docker-compose -f my-yaml-file.yaml up 时,控制台显示:
Pulling shell <repo info>
1.0: Pulling from <repo info>...
ae79f2514705: Already exists
5ad56d5fc149: Already exists
170e558760e8: Already exists
395460e233f5: Already exists
6f01dc62e444: Already exists
1b19c959c7bd: Pull complete
我省略了上面的私人回购信息,但想知道为什么说这些哈希(或任何它们)已经存在。我尝试使用命令删除所有内容,但无论我尝试什么,它总是检测到某些东西存在。它检测到什么以及如何删除它们?我试过重启 docker、重启等。结果总是一样的。
解决方案
“问题”在 docker 的缓存中。您想要做的是在您的命令中添加一个--no-cache
标志,有关更多详细信息,请参阅docs。docker compose build
我还发现了一个 github问题,要求提供该--no-cache
选项(已经存在),但在评论中您可以看到干净重建的示例,其中有人说--force-recreate
不需要该标志。
docker-compose rm --all &&
docker-compose pull &&
docker-compose build --no-cache &&
docker-compose up -d --force-recreate &&
我希望这有帮助!
推荐阅读
- json - 将 JSON 文件的嵌套子级导入 Postgresql
- amazon-web-services - 我们如何将 JSON 文件中处理的 JSON 消息的基本详细信息记录到用于创建基于日志的指标的 cloudwatch 日志流中?
- python - 如何在 Python 中使用逗号分隔变量的列表字符串来函数参数?
- php - 异常消息:未定义的变量:
- sharepoint - 获取授予“Everyone”组权限的所有位置(列表/库/项目)
- javascript - 如何使jszip生成相同的缓冲区
- java - 在 Java 中将 String 作为方法参数传递时创建的 String 对象的数量
- java - @NotNull 不会一直使用 MethodValidationPostProcessor 运行
- python-3.x - 我想将 tt[ ] 的每 6 个元素分配给星期一到星期五,最后 4 个元素分配给星期六
- python - 如何比较字典中的值