Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ssh 将Docker容器中的Ruby SDK添加为RubyMine上的远程SDK_Ssh_Docker - Fatal编程技术网

Ssh 将Docker容器中的Ruby SDK添加为RubyMine上的远程SDK

Ssh 将Docker容器中的Ruby SDK添加为RubyMine上的远程SDK,ssh,docker,Ssh,Docker,Rubymine有使用Vagrant和SSH添加远程SDK的选项,但我决定使用Docker。我已经创建了一个Ruby容器,但我不知道如何启用对它的SSH访问,以便Rubymine可以将其设置为远程SDK 可能吗 试着跟随这篇文章,但是Ruby映像没有yum,并且这个包epel版本是为Fedora/RedHat提供的。嘿,你在用这个吗 如果是这样,它是基于Debian的,您必须使用apt get来安装软件包。 下面是一个方便的脚本,用于安装openssh服务器和在Dockerfile中配置用户:

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

可能吗

试着跟随这篇文章,但是Ruby映像没有yum,并且这个包epel版本是为Fedora/RedHat提供的。

嘿,你在用这个吗

如果是这样,它是基于Debian的,您必须使用apt get来安装软件包。 下面是一个方便的脚本,用于安装openssh服务器和在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执行什么样的精确配置。但是可以使用容器打开tty,而不需要ssh:

#run it as a daemon
docker run -d --name=myruby ruby:2.19 
#connect to it
docker -it exec myruby /bin/bash
更新

尝试将环境变量设置为侦听tcp端口:

export DOCKER_HOST='tcp://localhost:2376'

我用的是官方形象。Rubymine要求主机和端口通过ssh连接。尝试按照您的建议创建Dockerfile,并在主机上将端口22暴露为2000,但Rubymine说连接已被拒绝。@Juliannuessilvaoliveira您的主机操作系统是什么?你在用Docker工具箱吗?如果是这样,您需要将ip设置为Docker toolbox创建的boot2docker VirtualBox机器。您可以发现,通过使用
docker machine ls
docker machine ip
我使用的是docker for Windows beta,我使用的是MobyLinux虚拟机使用的ip。此虚拟机是否与使用Virtual Box时Docker的默认虚拟机等效您是否在Docker文件中公开了端口22?我忘了在第一个答案中添加它,然后我编辑了它。是的,我将端口22公开为端口2000,并将其列为开放端口。