次のように、PostgreSQLとアプリケーションを使用してdocker composeファイルを作成します。
version: '3'
services:
  postgresql:
    image: postgres:9.6.6
    ports:
      - 9932:5432
    expose:
      - "5432"
    environment:
      - POSTGRES_PASSWORD=pass
    restart: always
    volumes:
      - /data:/var/lib/postgresql/data
  myapp:
    image: myapp
    links:
      - postgresql
    depends_on:
      - "postgresql"
    restart: always
    ports:
      - "5000:5000"
問題は、終了コードが137であっても、コンテナrestart: alwaysを殺すと(アプリのクラッシュをシミュレートするdocker kill)ポリシーが機能しないように見え、docker-composeがコンテナを再起動しないことです。ポリシーを使用すると、同じ動作を観察します。バージョンとdocker-composeの動作は同じです。私のシステムはUbuntu Server 16.04 x64です。restart: on-failure23
私の質問は:
- docker-composeがクラッシュした(殺された)コンテナを再起動しないのはなぜですか?
- 再起動ポリシーが機能するかどうかを確認する方法は?