我将一个应用程序停靠在docker容器中。我打算让应用程序能够从我们的hdfs访问文件。docker映像将部署在通过marathon mesos安装hdfs的同一集群上。
下面是要发布到marathon的json。似乎我的应用程序能够读写hdfs中的文件。有人能评价一下这个的安全性吗?我的应用程序更改的文件在hdfs中也会正确更改吗?我搜索了一下,没有发现任何类似的方法。。。
{
"id": "/ipython-test",
"cmd": null,
"cpus": 1,
"mem": 1024,
"disk": 0,
"instances": 1,
"container": {
"type": "DOCKER",
"volumes": [
{
"containerPath": "/home",
"hostPath": "/hadoop/hdfs-mount",
"mode": "RW"
}
],
"docker": {
"image": "my/image",
"network": "BRIDGE",
"portMappings": [
{
"containerPort": 8888,
"hostPort": 0,
"servicePort": 10061,
"protocol": "tcp",
}
],
"privileged": false,
"parameters": [],
"forcePullImage": true
}
},
"portDefinitions": [
{
"port": 10061,
"protocol": "tcp",
"labels": {}
}
]
}
1条答案
按热度按时间ubbxdtey1#
你可以看看docker卷文档。
基本上
volumes
app.json中的定义将触发带有标志的docker映像的开始-v /hadoop/hdfs-mount:/home:RW
,这意味着主机路径被Map到docker容器/home
在读写模式下。如果您使用ssh连接到运行应用程序的节点并执行
docker inspect <containerId>
.另请参见
https://mesosphere.github.io/marathon/docs/native-docker.html