php - 即使在完全删除后,Docker 容器仍在下载和执行
问题描述
即使在我停止了所有 docker 容器并且docker system prune -a
Docker 仍然通过运行命令下载和执行 tutum/php-apache 之后docker-compose up
,这里是我的 docker-compose.yml:
version: '2'
services:
postgres:
image: camptocamp/postgres
web:
image: nginx
ports:
- "8000:80"
volumes:
- '.:/usr/share/nginx/html
' 这里是运行容器:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3807234b989f camptocamp/postgres "docker-entrypoint.s…" 5 minutes ago Up 5 minutes 5432/tcp ferrybox_postgres_1
551acc487c9d tutum/apache-php "/run.sh" 5 minutes ago Up 5 minutes 80/tcp, 0.0.0.0:32786->8000/tcp ferrybox_web_1
解决方案
docker system prune -a
将删除所有未使用的图像,因此假设您在执行此命令时 - 运行容器可能使用了 tutum/apache-php 图像,并且它不是由当前的 docker-compose.yml 文件创建/启动的(可能是 docker-compose.yml 文件之前有这个条目)。
docker@default:~$ docker system prune --help
Usage: docker system prune [OPTIONS]
Remove unused data
Options:
-a, --all Remove all unused images not just dangling ones
--filter filter Provide filter values (e.g. 'label=<key>=<value>')
-f, --force Do not prompt for confirmation
--volumes Prune volumes
docker@default:~$
您可以停止容器(使用容器 ID 或名称)并将其删除,
以确保在您调用时是否再次创建了 tutum/apache-php 容器docker-compose up
?
#>docker rm -f 3807234b989f
#>docker rm -f 551acc487c9d
#>docker system prune -a
#>docker-compose up
#>docker-compose ps
#>docker ps
让我知道您是否获得与之前相同的输出。
推荐阅读
- javascript - 无法从 docker 运行 javascript 文件以使用 WSL shell (windows 10) 填充 mongo db
- node.js - 无法连接到在 Kubernetes 上运行的 Docker 容器中的套接字
- html - HTML 自定义组件 - 样式表问题
- mysql - laravel eloquent join where 子句与子查询以使用列名比较不起作用
- algorithm - 基于球员等级和力量优化球队阵型的算法
- c# - Unity3D人脸对象在哪里移动
- shell - FFMPEG 调整已处理视频的大小
- sql - 查询 ActiveRecord 语法
- ignite - 当 3rd 方 SQL Server 数据库直接更改某些内容时,Apache Ignite 可以更新吗?
- scala - Scala 物理目录结构的最佳实践