2017-07-26 22 views
0

Dockerコンテナファイルを使用して、debianイメージからDockerコンテナを起動しようとしています。 しかし、docker ps - aを実行すると、コンテナは常に再起動します。 SここDockerコンテナは常に再起動

私dockerfile:

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

ここに私のドッキングウィンドウのコンファイル:

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

'always'再起動ポリシーを使用するときにどうなるべきか以外は、「コンテナは常に再起動していますか? – Grimmy

答えて

2

ドッカ - コンは、あなたの "サーバー" コンテナを実行すると、それはすぐに意志を私はなぜ知りません終了する。ドッカーコンテナには少なくとも1つの実行中のプロセスが必要です。そうでなければコンテナは終了します。あなたの例では、あなたは生き続けるプロセスを開始していません。

restart: alwaysを設定したので、docker-composeは "server"の新しいコンテナを無限に再起動します。それはあなたが説明する行動を説明するはずです。

データコンテナが定義されていて、画像がマウントされている場所(volumes_fromと組み合わせて)のドッカー作成ファイルがあります。彼らは意図的に/bin/trueをコマンドとして使用しましたが、永久ですが無害な再起動にもつながります。例:再起動は、あなたが望むものでない場合

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

、Webサーバーやデータベースを実行するのと同じように、有益な何かを容器にプロセスを開始することができます。しかし、バッシュだけではコンテナを生かし続けるものではありません。非対話モードで実行しているbashはすぐに終了します。

関連する問題