【问题标题】:What does docker run on an existing docker container do?docker 在现有的 docker 容器上运行做什么?
【发布时间】:2018-09-22 06:08:03
【问题描述】:

我正在尝试在正在运行的 docker 容器中更改 somaxconn 的值。我正在使用这个命令:

docker run --net=container:redis --sysctl net.core.somaxconn=65535 bash

我检查了这个命令在正在运行的 docker 容器中将 somaxconn 的值从 128 更改为 65535

因为 docker run 命令创建并启动了一个新容器,所以,此命令是否会重新创建并启动我现有的容器?它是通过 somaxconn 更改重新启动我正在运行的容器,还是更改正在运行的 docker docker 容器中的值?

但我想补充一点,在运行上述命令后,somaxconn 的值发生了变化,当我执行 docker ps 时,它显示同一个容器从很久以前就已启动并运行,所以,确实这意味着它改变了已经运行的容器中的值?

【问题讨论】:

    标签: docker redis sysctl


    【解决方案1】:

    docker run 将始终启动一个新容器。如果您已经有一个容器在运行,它不会受到docker run 命令的影响。

    您可以查看docker exec 命令。这允许您在现有容器中执行命令。但是,这将不允许您更改启动原始容器的参数(例如更改 --sysctl 参数)。要更改这些类型的参数,您必须删除并使用所需参数重新创建容器。

    在此处查看 docker run 和 docker exec 的文档: https://docs.docker.com/engine/reference/commandline/run/ https://docs.docker.com/engine/reference/commandline/exec/

    【讨论】:

    • 但是在我运行这个命令 'docker run --net=container:redis --sysctl net.core.somaxconn=65535 bash' 并检查之后,somaxconn 的值已经改变并且在运行之后docker ps,它显示 docker 容器从几个小时前开始运行,所以,它没有重新启动。那么,somaxconn 的值是如何变化的呢?
    【解决方案2】:

    docker run 命令总是会创建一个新的容器。

    所以你可以做一件事。执行以下命令更改正在运行的容器中的值。

    #>docker ps
    CONTAINER ID        IMAGE               COMMAND                  CREATED                 STATUS              PORTS                     NAMES
    80eb3dc8438b        abcxyz               "docker-entrypoint.sâ¦"   22 hours     ago      Up 22 hours                     abcxyzfriendlyname
    

    查找容器名称或 ID(例如 80eb3dc8438b) 然后启动以下命令:(确保您的容器此时正在运行)。

    #>docker exec 80eb3dc8438b   sysctl net.core.somaxconn=65535
    

    我不确定它是否会将数据保留在容器中,还是仅在会话中可用。

    【讨论】:

    • 正如我在下面的回复中所说,我使用 docker ps 看到了 docker 容器的状态,并且我看到 docker 运行了好几个小时,因为我上次重新启动它,所以,运行命令没有重新启动我正在运行的容器,但它确实更新了 somaxconn 的值。你能解释一下它是怎么做到的吗?
    • docker exec 是在运行的容器中执行任何命令。如果您想查看容器内的内容 - 您可以使用 #> docker exec -it sh :: 您将在容器内获得一个外壳,然后只需检查您想要的配置.
    猜你喜欢
    • 1970-01-01
    • 2019-01-19
    • 1970-01-01
    • 2022-10-04
    • 2017-11-10
    • 2021-01-29
    • 1970-01-01
    • 2023-01-22
    • 2021-11-13
    相关资源
    最近更新 更多