【问题标题】:"bash: sysctl: command not found" in debian:stretch-slimdebian:stretch-slim 中的“bash: sysctl: command not found”
【发布时间】:2019-07-13 20:25:12
【问题描述】:

当我从 hub.docker.com 拉出 debian:stretch-slim,然后运行容器(root)时,我发现 bash: sysctl: command not found

如何在 debian:stretch-slim 中使用 sysctl?

许多图像是从 debian:stretch-slim 构建的,所以当我想在其他一些容器中使用 sysctl 时:

docker run --rm -it redis:latest --sysctl net.core.somaxconn=2048 redis-server

它会抛出错误消息。

可以这样测试:

docker pull debian:stretch-slim
docker run --rm -it debian:stretch-slim bash
root@7b923f27f7ee:/# sysctl
bash: sysctl: command not found

【问题讨论】:

  • apt-cache search sysctl 也许?
  • /sbin/sysctl -a 也许?
  • 如果您真的需要容器中的sysctl 实用程序 - apt-get update && apt-get install procps
  • 很好,apt-get install procps可以工作
  • 其他人通过 google,别忘了它需要以 root 身份运行,所以sudo sysctl net.core.somaxconn=2048 在裸机上。

标签: linux bash docker debian debian-stretch


【解决方案1】:

使用以下命令启动您的容器:

docker run --rm -it --sysctl net.core.somaxconn=2048 redis:latest redis-server

--sysctl 应该是 docker run 的参数,它不应该是你的 redis 图像的命令

【讨论】:

  • 我在尝试使用 expo cli 时在 gitlab-ci 运行器中遇到此错误。我应该在哪里添加这个命令?在 docker gitlab ci runner 级别?
  • @DimitriKopriwa 你能创建一个包含一些详细信息(使用的命令、错误详细信息等)的新线程吗?以便帮助我们分析问题。
  • Docker 不支持设置所有 sysctl 值。请参阅此链接:docs.docker.com/engine/reference/commandline/run/…。某些内核参数无法在 Docker 容器中设置。它们需要在主机上设置
猜你喜欢
  • 2019-07-07
  • 2014-07-01
  • 2018-07-18
  • 2010-12-09
  • 1970-01-01
  • 1970-01-01
  • 2010-11-12
  • 2017-04-08
  • 1970-01-01
相关资源
最近更新 更多