Docker Postgres Container在macOS上不断重生

时间:2018-05-24 11:44:34

标签: postgresql docker

我创建了一个简单的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守护程序,我搜索了容器图像的Dockerfiledocker-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专家,但是我使用了一些公共/官方容器,并且还创建了一些我自己的容器,之前我从未见过这个问题。

这里发生了什么?

2 个答案:

答案 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)