簡體   English   中英

使用Docker的Julia集群

[英]Julia cluster using docker

我正在嘗試使用默認的SSHManager連接到Docker容器。 這些容器僅具有運行中的sshd,公鑰身份驗證和julia安裝。

這是我的dockerfile:

FROM rastasheep/ubuntu-sshd
RUN apt-get update && apt-get install -y julia
RUN mkdir -p /root/.ssh
ADD id_rsa.pub /root/.ssh/authorized_keys

我正在使用以下容器運行容器:

sudo docker run -d -p 3333:22 -it --name julia-sshd julia-sshd

然后在主機中,使用julia repl,出現以下錯誤:

julia> import Base:SSHManager
julia> addprocs(["root@localhost:3333"])
stdin: is not a tty
Worker 2 terminated.
ERROR (unhandled task failure): EOFError: read end of file
Master process (id 1) could not connect within 60.0 seconds.
exiting.

我已經測試過可以通過ssh無需密碼即可連接到容器。

我還測試了在julia repl中,我可以向群集中添加安裝了julia的常規計算機,並且工作正常。

但是我無法使這兩件事協同工作。 任何幫助或建議將不勝感激。

我建議您也將Master部署在Docker容器中。 它使您的環境輕松,完全可復制。

我正在研究一種按需在Docker容器中部署Workers的方法。 即,部署在容器中的Master可以進一步部署DockerizedJuliaWorker 它類似於https://github.com/gsd-ufal/Infra.jl,但假設Master和Workers在同一主機上運行,​​這使得事情變得不那么困難。

這是一項正在進行的工作,我計划在下周完成。 簡而言之:

1)您將需要一個簡單的DockerBackend和一個包裝器來透明地運行容器,設置SSH並使用所有低級參數(即DockerizedJuliaWorker.jl文件)調用addprocs:

https://github.com/NaelsonDouglas/DistributedMachineLearningThesis/tree/master/src/docker

2)在此處閱讀如何構建Docker映像(包含Dockerfile):

https://github.com/NaelsonDouglas/DistributedMachineLearningThesis

如果您有任何改進建議,請告訴我。

最好,

安德烈·拉格(AndréLage)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM