次のように、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-failure
2
3
私の質問は:
- docker-composeがクラッシュした(殺された)コンテナを再起動しないのはなぜですか?
- 再起動ポリシーが機能するかどうかを確認する方法は?