Docker 容器 RestartCount 不增加

标签 docker dockerpy

测试

def test_can_pop_new_container(self):
    config = {
        'ip': '10.49.0.2',
        'subnet': '10.49.0.0/16',
        'gateway': '10.49.0.202',
        'vlan': 102,
        'hostname': 'test-container',
    }
    container = container_services.pop_new_container(config, self.docker_api)

    inspection = self.docker_api.inspect_container(container.get('Id'))
    print('before', inspection.get('RestartCount'), inspection.get('StartedAt'))
    container_services.restart(container, self.docker_api)
    new_inspection = self.docker_api.inspect_container(container.get('Id'))
    print('after', new_inspection.get('RestartCount'), new_inspection.get('StartedAt'))

代码

def restart(container, docker_client):
    return docker_client.restart(container.get('Id'))

输出

从测试中我得到

before 0 None
after 0 None

来自 docker ps 确认容器已重新启动。

CONTAINER ID        IMAGE                                                 COMMAND                  CREATED             STATUS              PORTS               NAMES
86f16438ffdd        docker.akema.fr:5000/coaxis/coaxisopt_daemon:latest   "/usr/bin/supervis..."   28 seconds ago      Up 17 seconds                           confident_dijkstra

问题

为什么RestartCount仍然是0?我使用了错误的字段吗?

最佳答案

正如评论中已经指出的,字段 RestartCount 用于 Restart Policies 的上下文中。跟踪失败时的重新启动尝试。

如果用户启动重新启动,它不会增加。

您可以查看docker events跟踪正常的容器重新启动。这也适用于 dockerpy .

关于Docker 容器 RestartCount 不增加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42397246/

相关文章:

windows - 在 Windows 上设置 docker 时出错

macos - 在 OSX 上通过 docker-py 连接到 Docker-Machine

python - Docker.py 如何使用 stdin_open=True 停止容器?

python - 如何在 docker-py 中绑定(bind)卷?

python - docker-py 客户端的意外行为

python - Docker容器上的Django MSSQL服务器不会迁移

docker - 如何在 dockerfile 中使用来自 gitlab-ci.yml 的变量

docker - 无法从 minikube docker 中提取镜像

docker 在应该使用 v2 时使用了 v1 注册表 api

python - 来自命令行和 python api 的 docker exec 中的管道