我创建了一个简单的Dockerfile
来构建基于official Docker PostgreSQL图像的图像:
FROM postgres
据我所知,我甚至没有明确地开始,我只是docker build .
。
现在,每当我尝试删除容器时,它都会不断重新创建并重新启动:
hostname:~ username$ docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
postgres <none> e84edf994e8b 3 weeks ago 234MB
hostname:~ username$ date && docker ps -a
Thu May 24 13:26:31 CEST 2018
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
6482553729a4 postgres:latest "docker-entrypoint.s…" 6 minutes ago Up 6 minutes 5432/tcp some-postgres.1.a0udiazm08y67gcxhnxbhinh8
hostname:~ username$ date && docker stop 6482553729a4 && docker rm 6482553729a4
Thu May 24 13:26:47 CEST 2018
6482553729a4
6482553729a4
hostname:~ username$ date && docker ps -a
Thu May 24 13:26:52 CEST 2018
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7d180c7a4532 postgres:latest "docker-entrypoint.s…" 4 seconds ago Created some-postgres.1.jlqe02b1zt9o77gh8ky4zhzr9
hostname:~ username$ date && docker ps -a
Thu May 24 13:27:01 CEST 2018
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7d180c7a4532 postgres:latest "docker-entrypoint.s…" 13 seconds ago Up 7 seconds 5432/tcp some-postgres.1.jlqe02b1zt9o77gh8ky4zhzr9
我也尝试过激烈的措施:
hostname:~ username$ docker kill $(docker ps -q) && docker rm -f $(docker ps -a -q) && docker rmi -f $(docker images -q)
7d180c7a4532
7d180c7a4532
Untagged: postgres@sha256:1c2cc88d0573332ff1584f72f0cf066b1db764166786d85f5541b3fc1e362aee
Deleted: sha256:e84edf994e8bc77bf6c60970a2bd32c905ed8782296e67aa46c949a4b47cb678
hostname:~ username$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
70f3de1d4b8a e84edf994e8b "docker-entrypoint.s…" 45 seconds ago Up 40 seconds 5432/tcp some-postgres.1.alq5qjn7adyjvbjeo023kx2fq
显然,该容器甚至不需要运行本地映像:
hostname:~ username$ docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
我尝试重新启动,重新启动Docker守护程序,我搜索了容器图像的Dockerfile
和docker-entrypoint.sh
以查找某些keep-this-container-running-at-all-costs-even-if-it-pisses-off-the-user
选项,但似乎没有任何相关内容让我感到震惊。
我注意到有一个/Applications/Docker.app/Contents/MacOS/com.docker.supervisor -watchdog fd:0
进程正在运行,可能会继续重启容器,但这种想法纯属猜测,而且,我似乎无法找到任何告诉Docker继续重启该容器的东西,而不是任何其他人。
我不是Docker专家,但是我使用了一些公共/官方容器,并且还创建了一些我自己的容器,之前我从未见过这个问题。
这里发生了什么?
答案 0 :(得分:1)
在这种(通常)一次性情况下,重置Docker是很困难的。我曾经有过这样的情况,但在强行清除码头之后它从未持续存在。
你应该去:
navigation bar -> docker -> preferences -> Reset
并且:Reset to factory deafaults
答案 1 :(得分:0)
另一种不太激烈的方式:
docker stop $(docker ps -a -q) &
docker update --restart=no $(docker ps -a -q)