Docker容器总是重新启动

我尝试从debian映像启动Docker容器,并使用Docker撰写文件。 但是当我做docker ps - a ,容器总是重新启动。 我不知道为什么:s

在这里我的dockerfile:

 FROM debian:jessie ENV DEBIAN_FRONTEND noninteractive RUN mkdir /home/server RUN cd /home/server VOLUME /home/server CMD /bin/bash 

在这里,我的docker撰写文件:

 version: '2' services: server: build: . restart: always container_name: server volumes: - "/home/binaries:/home/server" 

当docker-compose运行你的“服务器”容器时,它会立即终止。 docker集装箱至less需要一个正在运行的进程,否则该容器将退出。 在你的例子中,你并没有启动一个活着的进程。

正如你已经configurationrestart: always ,docker-compose将无休止地重新启动“server”的新容器。 这应该解释你描述的行为。

我已经看到了docker-compose文件,其中定义了只安装映像的数据容器(与volumes_from结合使用)。 他们故意使用/bin/true作为命令,这也会导致永久但无害的重新启动。 例如:

 data: restart: always image: postgres:latest volumes: - /var/lib/postgresql command: "true" 

如果重新启动不是你想要的,你可以在容器中启动一个有用的进程,比如运行Web服务器或数据库。 但仅仅是一场暴风雨就不会让一个容器活着。 以非交互模式运行的bash将立即退出。