Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Google云计算引擎VM上的容器优化操作系统中运行docker中的docker?_Docker_Google Cloud Platform - Fatal编程技术网

如何在Google云计算引擎VM上的容器优化操作系统中运行docker中的docker?

如何在Google云计算引擎VM上的容器优化操作系统中运行docker中的docker?,docker,google-cloud-platform,Docker,Google Cloud Platform,我有一个主容器实例(Node.js),它在临时工作者docker容器中运行一些任务 使用的基本映像是node:8-alpine,entrypoint命令与usernode(非root用户)一起执行 我尝试使用以下命令运行容器: docker运行\ -v/tmp/box:/tmp/box\ -v/var/run/docker.sock:/var/run/docker.sock\ Ifaisalam/ide任务主管 但是当nodejs应用程序尝试运行docker容器时,会抛出“权限拒绝”错误-应用

我有一个主容器实例(Node.js),它在临时工作者docker容器中运行一些任务

使用的基本映像是
node:8-alpine
,entrypoint命令与user
node
(非root用户)一起执行

我尝试使用以下命令运行容器:

docker运行\
-v/tmp/box:/tmp/box\
-v/var/run/docker.sock:/var/run/docker.sock\
Ifaisalam/ide任务主管
但是当nodejs应用程序尝试运行docker容器时,会抛出“权限拒绝”错误-应用程序无法读取
/var/run/docker.sock
文件

通过
sh
访问此容器并运行
ls-lha/var/run/docker.sh
,我看到该文件属于
root:412
。这就是为什么我的
节点
用户无法运行docker容器的原因

主机上的
/var/run/docker.sh
文件属于
root:docker
,因此我猜容器中的
412
是主机的docker组ID


如果有人能为我提供一个在GCE上的容器优化操作系统中从docker容器运行docker的解决方案,我将非常高兴



我尝试运行的映像的source Git repository链接是-

将以下命令添加到主机的启动脚本中可以解决此问题:

sudo chmod 666/var/run/docker.sock
我只是不确定这是否是在生产环境中运行的应用程序的安全解决方案

编辑:

这个答案暗示了另一种可能也有效的方法-


另外,您可以阅读这篇文章-

可能重复@ASLIM,我不这么认为。我只在GCP上面对这个问题。在我的机器上,一切都像一个符咒。我的问题与从docker内部运行docker有关。