ฉันมีนักเทียบท่าเขียนไฟล์กับ PostgreSQL และแอปพลิเคชันของฉันเช่นนี้:
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"
ปัญหาคือว่าrestart: always
นโยบายดูเหมือนจะไม่ทำงานเมื่อฉันฆ่าภาชนะ (จำลองความผิดพลาดของแอปใช้docker kill
) และนักเทียบท่า-เขียนไม่เริ่มต้นคอนเทนเนอร์ของฉันแม้ว่ารหัสทางออกคือ 137 ฉันสังเกตเห็นพฤติกรรมเดียวกันเมื่อฉันใช้restart: on-failure
นโยบาย รุ่น2
และ3
องค์ประกอบนักเทียบท่าทำงานเหมือนกัน ระบบของฉันคือ Ubuntu Server 16.04 x64
คำถามของฉันคือ:
- ทำไมนักแต่งเพลงไม่รีสตาร์ทคอนเทนเนอร์ (ถูกฆ่า) ที่เสียหาย
- จะตรวจสอบได้อย่างไรว่านโยบายการรีสตาร์ททำงานได้อย่างไร