Docker in docker on a --create-with-container gce 导致分段错误(核心转储)
Docker in docker on a --create-with-container gce leads to Segmentation fault (core dumped)
我正在尝试在 gce 上 运行 docker in 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
您认为这完全可能吗,如果是,我该怎么办?
谢谢
当您使用命令 gcloud compute instances create-with-container
创建 GCE VM 实例 运行 容器映像时,将部署 Container-Optimized OS (COS)。这是针对 运行 Docker 容器优化的操作系统。但它缺少典型 Linux 发行版中的许多组件。
它有很多限制,例如COS内核被锁定;您无法安装第三方内核模块或驱动程序。依赖于 COS 中不可用的内核模块、驱动程序和其他附加包的容器化应用程序可能无法运行。这是一种具有较小攻击面的锁定环境,可以尽可能安全地运行您的容器。
详情请见Container-Optimized OS Overview
Google 不太可能支持 COS 中的 Docker-in-Docker 配置。
除此之外,对于为什么 运行 嵌套 Docker 配置很麻烦以及可能的解决方法有很好的解释:
以上所列均基于 Docker-in-Docker 专题 Jérôme Petazzoni 作者的原创文章:Using Docker-in-Docker for your CI or testing environment? Think twice.
我正在尝试在 gce 上 运行 docker in 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
您认为这完全可能吗,如果是,我该怎么办?
谢谢
当您使用命令 gcloud compute instances create-with-container
创建 GCE VM 实例 运行 容器映像时,将部署 Container-Optimized OS (COS)。这是针对 运行 Docker 容器优化的操作系统。但它缺少典型 Linux 发行版中的许多组件。
它有很多限制,例如COS内核被锁定;您无法安装第三方内核模块或驱动程序。依赖于 COS 中不可用的内核模块、驱动程序和其他附加包的容器化应用程序可能无法运行。这是一种具有较小攻击面的锁定环境,可以尽可能安全地运行您的容器。
详情请见Container-Optimized OS Overview
Google 不太可能支持 COS 中的 Docker-in-Docker 配置。
除此之外,对于为什么 运行 嵌套 Docker 配置很麻烦以及可能的解决方法有很好的解释:
以上所列均基于 Docker-in-Docker 专题 Jérôme Petazzoni 作者的原创文章:Using Docker-in-Docker for your CI or testing environment? Think twice.