【问题标题】:Command for restarting all running docker containers?重新启动所有正在运行的 docker 容器的命令?
【发布时间】:2016-07-06 10:12:00
【问题描述】:

如何重启所有正在运行的 docker 容器?主要是找捷径而不是做

docker 重启 containerid1 containerid2

【问题讨论】:

    标签: docker docker-machine


    【解决方案1】:

    快跑

    docker restart $(docker ps -q)

    更新

    要重新启动 ALLstoppedrunning)容器,请使用docker restart $(docker ps -a -q),答案如下。

    【讨论】:

    • 我知道-a 列出了未运行的容器,但-q 代表什么?
    • from docker ps --help: -q, --quiet Only display numeric IDs 你可以通过命令docker [command] --help获得每个docker命令的帮助
    • 这会尝试为docker ps --all 的表输出中的每个值启动一个容器,因此它将尝试运行docker restart 'up for 2 weeks ago'docker restart '33060/tcp' 等等。最好以某种方式将docker ps 命令的输出限制为仅名称列。例如docker restart $(docker ps --all --format "{{.Names}}")
    • -1 因为更新后的答案重新启动 所有容器 而原来的问题是重新启动 all running容器.
    • 你是对的,约翰。我更正了更新后的答案。
    【解决方案2】:

    现在对我来说:

    docker restart $(docker ps -a -q)
    

    【讨论】:

    • 值得一提的是,它只在powershell中工作
    • 仅 Powershell?不,它也适用于 Bash...
    【解决方案3】:

    如果你有docker-compose,你需要做的就是:

    docker-compose restart 
    

    您可以很好地打印出容器名称及其重启状态(完成/错误)

    这里是官方安装指南:https://docs.docker.com/compose/install/

    【讨论】:

      【解决方案4】:

      只启动停止的容器:

      docker start $(docker ps -a -q -f status=exited)
      

      (在 Windows 上它可以在 Powershell 中运行)。

      【讨论】:

        【解决方案5】:

        启动所有容器:

          docker restart $(docker ps -a -q)
        

        如果您无权执行此操作,请使用 sudo:

        sudo docker restart $(sudo docker ps -a -q)
        

        【讨论】:

          【解决方案6】:

          使用唯一的特定容器 ID $ docker restart container-id1 container-id2 container-id3 ... 启动多个容器

          【讨论】:

            猜你喜欢
            • 2023-03-09
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2019-03-11
            • 2019-05-21
            • 2015-04-15
            • 2021-11-29
            相关资源
            最近更新 更多