问题描述
在使用Docker时,遇到一个问题。他在Ubuntu 16.04桌面上安装了Docker-1.5-1和docker-engine-17.05.0~ce-0~ubuntu-xenial,并安装了openmedicus/phplist。他的目标是删除容器和镜像。但问题是,容器成功删除后,过一段时间后容器会自动以不同的容器ID重新创建。他尝试删除镜像,但遇到了相同的问题。
尝试删除镜像:
$ docker images | grep phplist
openmedicus/phplist latest 24d3de5279cb 4 months ago 694MB
$ docker rmi openmedicus/phplist:latest --force
Untagged: openmedicus/phplist:latest
Untagged: penmedicus/phplist@sha256:6ac98b2f624eb8cd61b64c4b398650975a876224d5925175c58ff0c1b05a2593
$ docker images | grep phplist ## Delete Sucessfully
现在尝试删除容器:
$ docker ps
b02b641560e8 24d3de5279cb "/bin/sh -c /usr/s..." 2 minutes ago Up 2 minutes 0.0.0.0:8080->80/tcp
$ docker stop b02b641560e8
$ docker rm b02b641560e8 --force # Remove Sucessfully
然而,容器又自动创建了:
$ docker ps
2c78199dc40c openmedicus/phplist "/bin/sh -c /usr/s..." 29 seconds ago Up 28 seconds 0.0.0.0:8080->80/tcp
用户想知道如何永久删除Docker容器和镜像。
解决方案
请注意以下操作注意版本差异及修改前做好备份。
方案1
可能有一些工具或服务在监视您的主机,并从注册表重新拉取镜像并重新启动容器。例如,Watchtower就是这样的工具。您可以检查是否有类似Watchtower的工具在运行,并停止它们。
方案2
还有可能是Docker Swarm导致容器重新创建。您可以查看Docker论坛上的这个帖子获取更多信息。
方案3
还有一种可能性是,您的系统中有一个名为docker-phplist.service
的服务在重新创建容器。您可以根据openmedicus/phplist镜像的Docker Hub文档,检查/etc/systemd/system/docker-phplist.service
文件是否存在。如果存在,请停止并禁用该服务。
以上是解决此问题的几种可能方案。您可以根据您的具体情况选择适合您的解决方案。
正文完