Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos ';docker compose up';表示删除后图像已存在_Macos_Docker_Docker Compose_Docker For Mac - Fatal编程技术网

Macos ';docker compose up';表示删除后图像已存在

Macos ';docker compose up';表示删除后图像已存在,macos,docker,docker-compose,docker-for-mac,Macos,Docker,Docker Compose,Docker For Mac,我正试图从一张“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 &

我正试图从一张“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
拉壳
1.0:正在从。。。
ae79f2514705:已存在
5ad56d5fc149:已存在
170e558760e8:已存在
395460e233f5:已存在
6f01dc62e444:已存在
1b19c959c7bd:拉动完成
我省略了上面的私人回购信息,但不知道为什么它说这些散列(或其他什么)已经存在。我尝试使用这些命令删除所有内容,但无论我尝试什么,它总是检测到某些内容存在。它检测到什么以及如何删除它们?我尝试重新启动docker、重新启动等。结果总是一样的。

问题在docker的缓存中。您要做的是在
docker compose build
命令中添加一个
--no cache
标志,有关更多详细信息,请参阅

我还发现了一个github,要求提供
--no cache
选项(已经存在),但在注释中,您可以看到干净重建的示例,其中有人说不需要
--force recreate
标志

 docker-compose rm --all &&
 docker-compose pull &&
 docker-compose build --no-cache &&
 docker-compose up -d --force-recreate &&

我希望这有帮助

使用命令清理图像后,
docker images
返回什么?它必须是基本图像,比如(ubuntu或其他)有ubuntu图像,但docker console说运行在ubuntu上的服务已经存在。