Rubymine可以选择使用Vagrant和SSH添加远程sdks,但我决定使用Docker。我已经创建了一个Ruby容器,但我不知道如何启用SSH访问它,因此Rubymine可以将其设置为远程SDK。
有可能吗?
试图遵循这篇文章,但Ruby图像没有yum,而这个包epel-release适用于Fedora / RedHat。
答案 0 :(得分:0)
嘿,你使用这个official Ruby docker image吗?
如果是这样,它基于Debian,你将不得不使用apt-get来安装软件包。 这是一个方便的脚本,用于安装openssh-server并在Dockerfile中配置用户:
FROM ruby:2.1.9
#======================
# Install OpenSSH server (sshd)
#======================
RUN apt-get update -qqy \
&& apt-get -qqy install \
openssh-server \
&& echo "PidFile ${RUN_DIR}/sshd.pid" >> /etc/ssh/sshd_config \
&& sed -i 's|session required pam_loginuid.so|session optional pam_loginuid.so|g' /etc/pam.d/sshd \
&& mkdir -p /var/run/sshd \
&& rm -rf /var/lib/apt/lists/*
# Add user rubymine with password rubymine and give ownership of rubymine home dir
RUN adduser --quiet rubymine \
&& echo "rubymine:rubymine" | chpasswd \
&& chown -R rubymine:rubymine /home/rubymine \
EXPOSE 22
我不确定您可以使用Rubymine进行的确切配置。但是可以在不需要ssh的情况下使用容器打开tty:
#run it as a daemon
docker run -d --name=myruby ruby:2.19
#connect to it
docker -it exec myruby /bin/bash
<强>更新强>:
尝试设置 DOCKER_HOST 环境变量以侦听tcp端口:
export DOCKER_HOST='tcp://localhost:2376'