我正在尝试使用默认的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的常规机器添加到群集中,一切正常。
但是我无法使这两个功能同时工作。有任何帮助或建议将不胜感激。
--machinefile
选项,但发现了相同的问题。我对Docker和Julia都很陌生,所以我不知道底层发生了什么。我一直在阅读SSHManager
的实现,但仍然没有运气。 - torce