AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 611082
Accepted
Markus Miller
Markus Miller
Asked: 2014-07-09 13:54:39 +0800 CST2014-07-09 13:54:39 +0800 CST 2014-07-09 13:54:39 +0800 CST

如何处理 Docker 容器内的安全更新?

  • 772

在将应用程序部署到服务器上时,应用程序与其自身捆绑的内容与它期望平台(操作系统和已安装的软件包)提供的内容之间通常存在分离。其中一点是平台可以独立于应用程序进行更新。例如,当需要将安全更新紧急应用到平台提供的包而不重建整个应用程序时,这很有用。

传统上,安全更新只需执行包管理器命令即可在操作系统上安装更新版本的包(例如 RHEL 上的“yum update”)。但是随着容器技术(如 Docker)的出现,容器镜像基本上将应用程序和平台捆绑在一起,保持容器系统最新的规范方法是什么?主机和容器都有自己的、独立的包集,需要在主机上更新和更新,不会更新容器内的任何包。随着 RHEL 7 的发布,Docker 容器特别突出,听听 Redhat 推荐的处理容器安全更新的方法会很有趣。

关于几个选项的想法:

  • 让包管理器更新主机上的包不会更新容器内的包。
  • 必须重新生成所有容器映像以应用更新似乎打破了应用程序和平台之间的分离(更新平台需要访问生成 Docker 映像的应用程序构建过程)。
  • 在每个正在运行的容器中运行手动命令似乎很麻烦,并且下次从应用程序发布工件更新容器时,更改有被覆盖的风险。

因此,这些方法似乎都不令人满意。

linux
  • 4 4 个回答
  • 43204 Views

4 个回答

  • Voted
  1. Best Answer
    Johannes 'fish' Ziemke
    2014-08-13T03:41:12+08:002014-08-13T03:41:12+08:00

    Docker 映像捆绑了应用程序和“平台”,这是正确的。但通常镜像是由基础镜像和实际应用组成的。

    因此,处理安全更新的规范方法是更新基础映像,然后重建您的应用程序映像。

    • 58
  2. Paul R
    2014-10-04T11:44:28+08:002014-10-04T11:44:28+08:00

    这些容器应该是轻量级和可互换的。如果您的容器存在安全问题,您可以重建已修补的容器版本并部署新容器。(许多容器使用标准基础镜像,使用标准包管理工具,如 apt-get 来安装它们的依赖项,重建将从存储库中提取更新)

    虽然您可以在容器内部打补丁,但这并不能很好地扩展。

    • 7
  3. pwl
    2016-05-09T09:05:40+08:002016-05-09T09:05:40+08:00

    这在 SUSE Enterprise Linux 中使用 zypper-docker(1) 自动处理

    SUSE/zypper 码头工人

    Docker 快速入门

    • 3
  4. Ben Grissinger
    2014-07-09T15:23:04+08:002014-07-09T15:23:04+08:00

    首先,您过去运行的许多更新将根本不在容器本身内。容器应该是您过去习惯看到的完整文件系统的一个相当轻量级的小子集。您应该更新的包将是 DockerFile 的一部分,并且由于您拥有 DockerFile,您应该能够跟踪需要更新的那些包和容器 ID。Cloudstein 即将发布的 UI 会为您跟踪这些 DockerFile 成分,以便可以构建最适合其容器的更新方案。希望这可以帮助

    • 0

相关问题

  • Linux 主机到主机迁移

  • 如何在 Linux 机器上找到有关硬件的详细信息?

  • 如何在 Linux 下监控每个进程的网络 I/O 使用情况?

  • 在 RHEL4 上修改 CUPS 中的现有打印机设置

  • 为本地网络中的名称解析添加自定义 dns 条目

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve