2016-06-09 387 views
1

我在Docker容器中製作了Docker化的應用程序。我打算讓應用程序能夠從我們的HDFS訪問文件。 Docker鏡像將部署在我們通過Marathon-Mesos安裝HDFS的同一個羣集上。如何在Docker容器中安裝HDFS

下面是要發佈到馬拉松的json。看來我的應用程序能夠讀寫HDFS中的文件。有人可以評論這個安全嗎?我的應用程序中的文件是否會在HDFS中正確更改?我Google四周,沒有發現任何類似的方法...

{ 
    "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

你可能有一個看Docker volume docs

基本上,在app.json的volumes定義將觸發多克爾圖像的開始與所述標誌-v /hadoop/hdfs-mount:/home:RW,這意味着主機路徑獲取讀寫模式映射到多克爾容器作爲/home

如果你SSH進入正在運行應用程序的節點並執行docker inspect <containerId>,你應該能夠驗證這一點。

+0

如果我的碼頭工人形象沒有配置在HDFS(未安裝Hadoop的客戶),可以文件仍然正確地寫在HDFS中寫文件看到了嗎? –

相關問題