【发布时间】:2016-02-18 04:41:06
【问题描述】:
基础设施
我正在尝试建立一个 mesos马拉松集群分发容器。 在我的主服务器上,我有:
- 动物园管理员
- docker registry v2(端口 5000)wo 凭据
- 一个带有supervisord + mesos + marathon的容器
此外,我有一个奴隶(在同一台服务器上)。
$docker ps
192.168.0.38:5000/mesos-slave:prod mesos-slave-1
192.168.0.38:5000/mesos-master:generic mesos-master
jplock/zookeeper 0.0.0.0:2181->2181/tcp, 0.0.0.0:2888->2888/tcp, 0.0.0.0:3888->3888/tcp nostalgic_visvesvaraya
registry:2 0.0.0.0:5000->5000/tcp registry
问题
我的问题是我不能让马拉松向从站发送 docker 图像。
我认为这来自从机的配置。
$ docker exec -ti mesos-slave-1 /bin/bash
root@xw8600-Workstation:/# docker info
Get http:///var/run/docker.sock/v1.19/info: dial unix /var/run/docker.sock: no such file or directory. Are you trying to connect to a TLS-enabled daemon without TLS?
问题出在 {dial unix /var/run/docker.sock: no such file or directory}。
Slave 的 Dockerfile
slave 的 Dockerfile 看起来或多或少是这样的:
FROM 192.168.0.38:5000/supervisor:prod
RUN apt-get -y --fix-missing update
RUN apt-get install -y --force-yes mesos
#Mesos
RUN echo 'docker,mesos' > /etc/mesos-slave/containerizers
RUN echo '5mins' > /etc/mesos-slave/executor_registration_timeout
COPY mesos-slave.conf /etc/supervisor/conf.d/mesos-slave.conf
CMD supervisord -c /etc/supervisor.conf
mesos-slave.conf 看起来像这样:
[program:mesos-slave]
command=mesos-slave --master=%(ENV_MASTER)s --ip=%(ENV_IP)s --hostname=%(ENV_HOSTNAME)s --resources=%(ENV_RESOURCES)s --attributes=%(ENV_ATTRIBUTES)s --port=%(ENV_SLAVE_PORT)s --log_dir=/etc/mesos/logs --containerizers=docker,mesos --no-switch_user
我总是在错误日志中得到相同的错误。拉 rstudio 的示例:
failed to start: Failed to 'docker -H unix:///var/run/docker.sock pull 192.168.0.38:5000:rocker/rstudio': exit status = exited with status 1 stderr = Post http:///var/run/docker.sock/v1.19/images/create?fromImage=192.168.0.38%3A5000%3Arocker%2Frstudio%3Alatest: dial unix /var/run/docker.sock: no such file or directory. Are you trying to connect to a TLS-enabled daemon without TLS?
我做错了什么?
编辑
似乎我无法启动 docker
root@xw8600-Workstation:/var/log/upstart# sudo /etc/init.d/docker status
* Docker is not running
root@xw8600-Workstation:/var/log/upstart# sudo /etc/init.d/docker start
* Starting Docker: docker
...done.
root@xw8600-Workstation:/var/log/upstart# sudo /etc/init.d/docker status
* Docker is not running
编辑 2
在我的问题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"
我在网上找不到太多信息,这里有一些类似的问题:
【问题讨论】: