【问题标题】:Docker in docker on a --create-with-container gce leads to Segmentation fault (core dumped)docker 中的 docker on a --create-with-container gce 导致分段错误(核心转储)
【发布时间】:2020-08-12 13:51:09
【问题描述】:

我正在尝试在 gce 上的 docker 中运行 docker,但无济于事。 我在主机上使用了类似的设置,效果很好。 但是,当尝试使用 --create-with-container 时,我得到:

Segmentation fault (core dumped)
Segmentation fault (core dumped)

我在镜像中安装了 docker。当映像在普通主机上运行时,它可以正常工作。 以下是我的尝试:

gcloud compute instances \
  create-with-container docker-in-docker-on-cge \
  --container-restart-policy=never \
  --container-privileged \
  --container-mount-host-path=host-path=/var/run/docker.sock,mount-path=/var/run/docker.sock \
  --container-mount-host-path=host-path=/usr/bin/docker,mount-path=/usr/bin/docker \
  --container-image=$MYIMAGE

你认为这是否可能,如果是,我应该怎么做?

谢谢

【问题讨论】:

    标签: docker google-cloud-platform google-compute-engine google-cloud-stackdriver


    【解决方案1】:

    当您使用命令 gcloud compute instances create-with-container 创建运行容器映像的 GCE VM 实例时,会部署容器优化操作系统 (COS)。这是为运行 Docker 容器而优化的操作系统。但它缺少典型 Linux 发行版中的许多组件。

    它有很多限制,例如 COS 内核被锁定;您无法安装第三方内核模块或驱动程序。依赖于内核模块、驱动程序和其他在 COS 中不可用的附加包的容器化应用程序可能无法运行。这是一种具有较小攻击面的锁定环境,可以尽可能安全地运行您的容器。

    更多详情请见Container-Optimized OS Overview

    Google 不太可能支持 COS 中的 Docker-in-Docker 配置。

    除此之外,还有很好的解释说明为什么运行嵌套的 Docker 配置很麻烦,以及可能的解决方法是什么:

    Is it ok to run docker from inside docker?

    Docker in Docker?

    以上所列均基于 Docker-in-Docker 功能作者 Jérôme Petazzoni 的原创文章:Using Docker-in-Docker for your CI or testing environment? Think twice.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-08-23
      • 2022-01-02
      • 1970-01-01
      • 2019-08-06
      • 2023-03-13
      • 1970-01-01
      • 2015-06-25
      相关资源
      最近更新 更多