使用glusterfs卷驱动程序时的示例marathon json部署文件

时间:2016-04-01 16:37:34

标签: docker mesos devops marathon glusterfs

你好我不知道我的问题是否更多是针对serverfault或者在这里,我希望devops不会介意我在这里发帖。

我正在使用 mesos / marathon / docker / glusterfs 处理堆栈,我对文档湖感到厌倦。

我正在寻找一个示例marthon deployement文件,用于使用glusterfs驱动程序进行部署。

作者说我们之前应该创建音量,但他并没有说出安装音量。

"container": {
 "type": "DOCKER",
 "docker": {
   "image": "kylemanna/openvpn:latest",
   "parameters": [
     {
       "key": "volume-driver",
       "value": "glusterfs"
     },
     {
       "key": "cap-add",
       "value": "NET_ADMIN"
     }
   ],
   "network": "BRIDGE",
   "portMappings": [
     {
       "containerPort": 1194
     } 
   ]
 },
 "volumes": [
   {
     "containerPath": "/etc/openvpn",
     "hostPath": "openvpn-data",
     "mode": "RW"
   }
 ]
}

我的容器在马拉松中继续重启,日志显示/usr/local/bin/ovpn_run: line 16: /etc/openvpn/ovpn_env.sh: No such file or directory

在我的gluster文件服务器上,我在/data/openvpn-data/ovpn_env.sh

中有这些文件

我没有看到/mnt中的任何挂载点,我猜马拉松本身就是坐骑,但是由于容器不断重启,我看不到它。

我做了docker inspect检查文件系统的存储位置,我发现它存储在/var/lib/docker-volumes/_glusterfs/openvpn-data

所以这是我的问题:

  • 我的马拉松json文件是否正确?
  • 容器是否会等待下载所有数据,我应该为此配置一些内容吗?
  • 在马拉松上删除容器时是否删除了数据?
  • 我应该在ovpn_env.sh/data/myvolume/ovpn_env.sh
  • 中拥有/data/myvolume/etc/openvpn/ovpn_env.sh

2 个答案:

答案 0 :(得分:0)

查看以下问题

的文档

引用:

  

目前无法使用带有插件驱动程序的Docker卷。

您必须在启动容器之前创建卷/装载,并在通过Marathon启动应用程序时映射主机文件夹(您已经这样做了)。我猜这就是为什么它目前被称为“持久性本地卷”......

答案 1 :(得分:0)

在"参数"中定义它部分,像这样:

  "parameters": [
    {
      "key": "volume-driver",
      "value": "glusterfs"
    },
    {
      "key": "volume",
      "value": "openvpn-data:/etc/openvpn"
    }
  ]