首页 > 解决方案 > 即使在完全删除后,Docker 容器仍在下载和执行

问题描述

即使在我停止了所有 docker 容器并且docker system prune -aDocker 仍然通过运行命令下载和执行 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

标签: phpapachedockernginxdocker-compose

解决方案


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

让我知道您是否获得与之前相同的输出。


推荐阅读