Docker容器即使在完全删除后仍然可以下载和执行

时间:2018-04-30 07:39:06

标签: php apache docker nginx docker-compose

即使我停止了所有docker容器并且docker system prune -a Docker仍然通过运行命令docker-compose up下载并执行tutum / php-apache,这里是我的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

1 个答案:

答案 0 :(得分:0)

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或名称)并将其删除,
只是为了确保在调用docker-compose up时是否创建了tutum / apache-php容器并再次启动?

#>docker rm -f 3807234b989f        
#>docker rm -f 551acc487c9d        
#>docker system prune -a
#>docker-compose up
#>docker-compose ps
#>docker ps

如果您获得与之前相同的输出,请告诉我。