当前位置: 首页 > 面试题库 >

刷新docker容器的net.core.somaxcomm(或任何sysctl属性)

胥玮
2023-03-14
问题内容

我正在尝试将net.core.somaxconndocker容器更改为能够对我的Web应用程序具有更大的请求队列。

在OS上,在docker外部,我首先成功修改了属性:

$ cat /proc/sys/net/core/somaxconn
128
$ sudo sysctl -w net.core.somaxconn=1024
net.core.somaxconn = 1024
$ cat /proc/sys/net/core/somaxconn
1024

但是然后我不知道如何将更改传播到docker。我试过了:

  • 同时进行编辑/etc/sysctl.conf(希望Docker在容器启动时读取该文件)
  • 重新启动容器sudo docker stopsudo docker run再次
  • 重新启动整个docker服务 sudo service docker restart

但是在容器内部,cat /proc/sys/net/core/somaxconn始终显示128

我正在运行docker 1.2(因此默认情况下无法修改/proc容器内的属性)和Elastic
Beanstalk(因此如果没有--privileged模式,这将允许我进行修改/proc)。

如何将sysctl更改传播到docker?


问题答案:

只是想出了如何解决这个问题,现在运行的特权容器弹性魔豆的支持,你只需要添加"privileged": "true"到您Dockerrun.aws.json如下面的示例(请大家看看container-1):

{
  "AWSEBDockerrunVersion": 2,
  "containerDefinitions": [{
    "name": "container-0",
    "essential": "false",
    "image": "ubuntu",
    "memory": "512"
  }, {
    "name": "container-1",
    "essential": "false",
    "image": "ubuntu",
    "memory": "512",
    "privileged": "true"
  }]
}


 类似资料:
  • 我在官方docker网站上遵循了“开始”教程,一切都很顺利,直到我尝试删除容器。每次当我运行时 或 具有该 ID 的初始容器将停止或删除,但新容器出现并运行。我试图使用以下命令更新容器: 然而,这没有帮助。 这里是'docker info'命令结果: 和“docker inspect[container_id]”

  • 我已经创建了这个,并根据https://github.com/rodolpheche/wiremock-docker: 然后我创建了下面的文件位于/my/project/directory中 /my/project/wiremock/stubs中的子目录是映射和__files。 当我执行docker compose up时,docker容器可以工作,我可以发出一些工作正常的请求。但我的问题是,存根

  • 问题内容: 尝试停止或重新启动Docker容器时,我收到以下错误消息: 但是当我跑步时 我可以看到日志,因此显然容器确实存在。有任何想法吗? 编辑: 抱歉,我忘了提一下: 运行时,我看到容器已启动并正在运行。但是,其中的应用程序出现故障,因此我想重新启动它,或者只是在线获取该应用程序的新版本。但是,当我无法停止并删除容器时,也无法启动并运行要监听同一端口的新应用程序。 问题答案: 看起来像dock

  • 我是Docker的新人,我正在尝试创建/使用现有映像来启动我的应用程序。在阅读了几篇stackoverflow帖子和Docker文档后,我能够使用Docker容器启动我的应用程序。现在我正在寻找保存修改后的Docker容器的正确方法,以便我可以重用容器通过运行docker命令来启动我的应用程序。 我看到人们使用$docker提交来保存docker容器。如果我运行此命令,容器将保存在哪里?其他人可以

  • 编辑(2/19/21):自从几年前我提出这个原始问题以来,已经过去了很多时间,从那时起我看到了一系列的活动。我重新选择了一个答案,我认为它与解决这个问题的最本地化和最安全的选项一致(通常与docker compose相关)。虽然docker引入了命令,但这通常是一个危险的操作,我会谨慎使用,因为您可能会无意中影响机器上的其他应用程序或设置 我在使用Docker 1.9删除Docker卷时遇到问题。

  • 我有一个比postgresql运行更早的服务器,我读到Docker-ComposeV3不再使用HealthChecks来执行。我想知道除了之外,我还有什么其他选项。也就是说,我希望docker-compose重新启动失败后关闭/关闭的容器。我找到了这个线程,它展示了如何用docker-compose重新启动一个容器,如何用docker-compose重新启动一个容器,但这并没有解决我的问题。谢谢!