- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试制作我的第一个 dockerfile(我是新手),我需要系统运行命令 sysctl -w kernel.randomize_va_space=0
(它是一个实验室环境。),但我收到错误:
sysctl: setting key "kernel.randomize_va_space": Read-only file system
FROM avatao/lesp:ubuntu-14.04
USER root
COPY ./solvable/ /
RUN sysctl -w kernel.randomize_va_space=0
VOLUME ["/tmp"]
EXPOSE 2222
WORKDIR /home/user/
USER user
CMD ["/usr/sbin/sshd", "-Df", "/etc/ssh/sshd_config_user"]
最佳答案
由于 Docker 容器共享主机系统的内核及其设置,因此 Docker 容器通常无法运行 sysctl
根本。 (尤其不能像这样禁用安全关键设置。)您可以使用 docker run --sysctl
在容器本地基础上设置有限数量的 sysctl。 ,但你提到的不是其中之一。
此外,您也不能在 Dockerfile 中强制进行这样的更改。一个 Docker 镜像只包含一个文件系统和一些相关的元数据,而不包含任何正在运行的进程或主机系统设置。即使这个RUN sysctl
工作,如果您重新启动系统然后从镜像启动容器,则该设置将丢失。
鉴于您在此 Dockerfile 中显示的内容——定制的 Linux 内核设置、没有运行特定的应用程序、作为容器进程的开放式 ssh 守护进程——您可能会考虑虚拟机是否更适合您的需求。您可以使用类似 Packer 的工具以与 Dockerfile 构建 Docker 镜像大致相同的方式可重现地构建 VM 镜像。由于 VM 确实具有隔离内核,因此您可以运行该 sysctl
命令那里,它会工作,也许通过正常的完整 Linux 安装方法,如 /etc/sysctl.conf
文件。
关于docker - 无法在 Dockerfile 中运行 sysctl 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54845095/
我正在尝试制作一个读取系统信息(在 MacOS 上)的应用程序,并且我已经能够像这样读取 sysctl STRINGS: func cpu() -> String { var size =
我查看了手册页和文档,但它们只讨论了命令行调用。我说的是 C 函数。关于它的两个问题: C 中 sysctl() 的参数是什么? (我只想要一个将军描述每个参数是什么以及它的用途) sysctl()
考虑这段代码: int procmon_state = 0; static struct ctl_table_header *procmon_table_header; static ctl_tabl
Scanario:我有一个容器镜像,需要使用net.core.somaxconn> default_value运行。我正在使用Kubernetes在GCE中部署和运行。 我的集群中的节点(vms)配置
我需要一种方法来检索 Mac 上所有用户的所有正在运行的进程(使用 Cocoa)。我找到了一个使用 sysctl 检索进程的实现,但我还需要运行用户。这是我获取进程列表的截图,但是有没有办法修改它以包
在我的应用程序中,我需要在 Android 中编辑 sysctl 设置。对于 example,我见过很少的应用程序可以做到这一点但我不知道他们如何以编程方式执行此操作,是否有任何想法如何执行此操作?
在 4.10.0-38-generic 版本中,ctl_table 结构中没有 ctl_name 字段我找到了教程 https://www.google.com/url?sa=t&rct=j&q=&e
我有以下代码 import sys from ctypes import * from ctypes.util import find_library libc = cdll.LoadLibrary(
我的实际限制是 1024: $ ulimit -a core file size (blocks, -c) 0 data seg size (kbytes, -d
我在 docker-compose 文件中有一个 sysctls 设置,但据我了解,此指令在版本 3 中被忽略: sysctls: - net.core.somaxconn = 655
我正在尝试在 Kubernetes Kind 集群中部署一个容器。我尝试部署的容器需要设置几个 sysctls 标志。 部署失败 forbidden sysctl: "kernel.msgmnb" n
我正在尝试从内核模块访问 tcp_input.c 中定义的 tcp_pacing_ss_ratio。可以在用户空间使用 sysctl 命令修改该变量。但是,它不会导出,也不能直接从模块中引用。 从内核
为什么我们要在Linux中配置hugepage值? 我们什么时候配置hugepage值以及如何计算hugepage值? 最佳答案 当需要在 RAM 中连续(按顺序)分配大内存页时,通常会配置大页值。
要在内核模式和用户空间进行通信,我使用 this C program .我正在使用以下 Makefile 创建要加载的 .ko 文件。 bj-m := sysctl_test.o KDIR
我正在运行 x86_64 RedHat 5.3(内核 2.6.18)并在尝试设置 UDP 缓冲区的上下文中专门查看来自 sysctl -a 的 net.core.rmem_max。接收器应用程序有时会
我有一个剧本,其中有几个任务将值设置为 sysctl。我如何使用 sysctl 模块通过一个任务设置所有值,而不是为每个设置设置一个任务? 剧本片段: - name: Set tcp_keepaliv
14 "Mojave"在我的 macbook 上,我正在尝试增加 fs.inotify.max_user_watches值在 /etc/sysctl.conf (解决另一个问题)。为了结束这个仪式,我
Nginx 充当广告服务器的反向代理,每分钟接收 2 万个请求。响应发生在从广告服务器到 nginx 的 100 毫秒内 在配置为的虚拟机上运行 128GB 内存 4 个虚拟 CPU 100GB 硬盘
我需要更新 /etc/sysctl.conf,但如果更改,我需要运行 systemctl -p --system。 如何在我的剧本中实现这一目标? 最佳答案 您可以通过使用处理程序或注册任务并有条件地
我正在尝试制作我的第一个 dockerfile(我是新手),我需要系统运行命令 sysctl -w kernel.randomize_va_space=0 (它是一个实验室环境。),但我收到错误: s
我是一名优秀的程序员,十分优秀!