【问题标题】:Mesos slave won't start dockerMesos slave 不会启动 docker
【发布时间】:2015-11-19 23:26:50
【问题描述】:

在我的问题here 之后:我有一个 mesos 从站 (v1.7),我尝试在其上运行 docker 中的 docker。 当我在容器内时,我收到以下错误日志:

$ cat /var/log/docker.log 
time="2015-10-17T12:27:40.963674511Z" level=fatal msg="Error starting daemon: error initializing graphdriver: operation not permitted" 

我在网上找不到太多信息,这里有一些类似的问题:

  1. https://github.com/jpetazzo/dind/issues/89
  2. https://github.com/docker/docker/issues/14543
  3. Docker hello-world on Ubuntu - permission denied

【问题讨论】:

    标签: docker


    【解决方案1】:

    所以graphdriver 是用于存储容器数据/信息/等的驱动程序:(图表)

    更多信息here

    您似乎没有初始化驱动程序的权限。

    您可以指定要存储图形的目录,并确保您用来启动 docker 守护程序的任何用户都有权读取/写入它。例如

    $ docker daemon -D -g /<whatever>/<path>/<for_your_containers>
    

    或(如果您使用的是旧版 docker)

    $ docker -d -D -g /<whatever>/<path>/<for_your_containers>
    

    【讨论】:

    • 我无法启动守护进程 [# docker daemon -D] => [docker: 'daemon' is not a docker command.]
    • @romainjouin 你使用的是旧版本的docker,试试docker -d ...
    • 让我吃惊的是,我可以在同一台计算机上启动多个容器,并且可以启动一个简单的命令,例如: ["while [ true ] ; do echo 'Hello Marathon' ; sleep 5 ;完成”] 在集群上。为什么它工作了一半?
    • @romainjouin 很难分辨 你的图形目录中有基本图像吗?我在做一个疯狂的猜测,但是这个命令:["while [ true ] ; do echo 'Hello Marathon' ; sleep 5 ; done" ] 发生在内存中的 bash 中,带有内置的 bash 命令。您的大多数容器都使用这些类型的命令运行吗?错误可能是它仅尝试“写入”文件系统。
    • 我以 root 身份启动我的奴隶,所以我应该有权在任何需要的地方进行写作,不是吗?事实上,我有一个执行 [docker run slave] 的 shell 脚本,我通过 [sudo script.sh] 调用这个脚本:我知道由 sudo 启动的脚本中的命令将被执行,就好像 sudo 用户正在执行每个命令,正确吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多