相关疑难解决方法(0)

“重启:始终”策略如何在 docker-compose 中工作?

我有 docker compose 文件与 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"
Run Code Online (Sandbox Code Playgroud)

问题是restart: always当我杀死容器(使用 模拟应用程序崩溃docker kill)并且 docker-compose 不会重新启动我的容器时,策略似乎不起作用,即使退出代码是 137。当我使用restart: on-failure策略时,我观察到相同的行为。版本23docker-compose 的行为相同。我的系统是 Ubuntu Server 16.04 x64。

我的问题是:

  1. 为什么 docker-compose 不重启崩溃(被杀死)的容器?
  2. 如何检查重启策略是否有效?

docker docker-compose

40
推荐指数
1
解决办法
8万
查看次数

标签 统计

docker ×1

docker-compose ×1