从Docker容器添加Ruby SDK作为RubyMine上的远程SDK

时间:2016-07-07 17:04:04

标签: ssh docker

Rubymine可以选择使用Vagrant和SSH添加远程sdks,但我决定使用Docker。我已经创建了一个Ruby容器,但我不知道如何启用SSH访问它,因此Rubymine可以将其设置为远程SDK。

有可能吗?

试图遵循这篇文章,但Ruby图像没有yum,而这个包epel-release适用于Fedora / RedHat。

1 个答案:

答案 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'