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

如何使用docker设置分配给容器的资源?

夏飞跃
2023-03-14
问题内容

正如这个问题的标题所示,我想使用docker(docker.io)设置容器的最大磁盘/内存和cpu使用率。

有没有办法只使用docker来做到这一点?


问题答案:

内存/ CPU

Docker现在支持更多资源分配选项:

  • 通过-c标志分配CPU
  • 内存限制,通过-m标志
  • 特定的CPU内核,通过–cpuset标志

请查看docker run --help更多详细信息。

如果使用lxc后端(docker -d --exec-driver=lxc),则可以指定更细粒度的资源分配方案,例如:

docker run --lxc-conf="lxc.cgroup.cpuset.cpus = 0,1"\
           --lxc-conf="lxc.cgroup.cpu.shares = 1234"

存储

目前限制存储有点麻烦。请参考以下链接以获取更多详细信息:

  • 使用Device Mapper插件调整Docker容器的大小
  • 有关资源限制的问题?
  • devicemapper-基于设备映射器的存储后端


 类似资料:
  • 问题内容: 我有一个4核CPU,我想为Docker容器分配50%的CPU资源。 阅读完手册和源代码后。 我仍然不知道如何使用该选项。 要么 问题答案: 相对于默认设置1024,cpu-shares是一个“相对权重”,因此,如果您有两个容器在同一内核上运行,则可以通过调整CPU 50-50或80-20或您想要的任何值来给它们数字。它是整数。 您不能使用此标志来提供总体限制,但是可以使用 此处提到的来

  • 问题内容: 我正在关注本教程。 就我而言,我在Docker环境中运行,并且有一个受保护的站点(即https:// localhost )。这需要安全的SSL通信。 我调整了 网络 和 celery 容器以确保安全连接。 但是我不知道如何配置Redis容器以实现与ssl的安全连接。 请注意,当我在 Web 和 celery 容器中没有ssl连接的情况下运行时,连接就可以了。 如何使用SSL配置和运行

  • 问题内容: 我知道我可以在使用带有CPU和内存的and 标志的docker进行配置时限制分配给容器的资源。 但是,有没有一种方法可以动态地(在配置完之后)将这些分配的资源更改为容器,而无需使用更改后的资源重新部署同一容器? 问题答案: 目前不行-希望有人可以实现它:https : //github.com/docker/docker/issues/6323

  • 我现在尝试在启动Docker容器时分配静态IP172.17.0.1。 我使用端口2122作为该容器的ssh端口,以便让该容器侦听端口2122。 这个命令将运行一个带有随机IP的Docker容器,如172.17.0.5,但我需要为容器分配一个特定的IP。 下面的shell脚本是我在高级网络设置中引用Docker文档的部分。 此shell脚本将分配一个静态IP 172.17.0.1并链接到world

  • 我不确定我是否误解了这里的某些东西,但似乎只有通过从映像创建一个新容器来设置端口映射才是可能的。是否有一种方法将一个端口映射分配给一个现有的Docker容器?

  • 问题内容: 我有一个运行一些Dockerfile的docker- compose文件来创建我的容器。我不想编辑Dockerfile来设置时区,因为它们可能会随时被团队成员更改,并且我有一个docker- compose.override.yml文件可以进行本地环境更改。但是,我的一个容器(基于Selenium的容器)似乎没有拉主机时区,这给我带来了麻烦。基于此,我想在所有容器上实施时区。现在在我的