Tag: ssh

Docker-machine通过ssh隧道访问远程docker守护进程

我想通过ssh使用docker机器和远程服务器docker守护进程,所以不需要在远程服务器上打开2376端口。 本地主机: $ docker-machine create –driver generic –generic-ip-address [IP_Address] –generic-engine-port 2376 –generic-ssh-key〜/ .ssh / id_rsa –generic-ssh-user root [Host ] 远程主机: $ docker守护进程-H tcp://127.0.0.1:2376 执行本地主机命令的结果: $ docker-machine create –driver generic –generic-ip-address [IP_Address] –generic-engine-port 2376 –generic-ssh-key〜/ .ssh / id_rsa –generic-ssh-user root [Host ] … 无法连接到Docker守护进程。 docker守护程序是否在这个主机上运行? 根据nmap远程端口2376被closures,所以错误是有道理的。 我已经尝试通过在本地主机执行以下通过SSH隧道: $ ssh -L 2376:127.0.0.1:2376 [Remote_Host] **注意docker机正试图到远程主机的docker守护进程,所以隧道是有用的** 我想也许使用ssh -R或两者的组合将工作,但我还没有能够使其工作,你有任何想法或解决方法,使这项工作? 不要犹豫,让我采取一种完全不同的方法来解决这个问题。 […]

docker run -it ssh:input设备不是TTY

我想通过ssh命令直接交互式运行docker container。 我现在的代码如下所示(我使用echo hi作为占位符): $ ssh vagrant@127.0.0.1 -p 2222 "docker run -ti ubuntu:xenial echo hi" the input device is not a TTY 我也试着明确地做一个交互式的loginshell: $ ssh vagrant@127.0.0.1 -p 2222 "bash -ilc 'docker run -ti ubuntu:xenial'" bash: cannot set terminal process group (-1): Inappropriate ioctl for device bash: no job control in this shell the input device […]

如何在OSX上获得与docker容器的ssh连接(boot2docker)

我用boot2docker在OSX上使用docker 。 我想从我的terminal获得一个Ssh连接到一个正在运行的容器。 但我不能这样做:( 我认为这是因为Docker在虚拟机上运行。

Docker + SSH,如何定期将Docker镜像从一台主机转移到另一台主机上?

我想使用ssh作为传输机制,将托pipe在企业networking中的Docker镜像传输到私有云。 build立VPN连接不是我的第一select(因为它增加了复杂性)。 任何想法在哪里看/开始这个 编辑:我和我的团队成员中的许多人可能每天都会这样做(拉和推)

将远程服务器上的Docker卷上的文件复制到本地主机的最佳方法是什么?

我有, 我的笔记本电脑 一个远程服务器,我可以通过SSH进入其中有一个Docker卷,里面有一些文件,我想复制到我的笔记本电脑。 什么是最好的方式来复制这些文件? 使用rsync等东西的奖励点。这是快速/可以恢复/显示我的进展,而不是写任何临时文件。 注意:我的远程服务器上的用户没有权限直接从/var/lib/docker中的卷装入数据,虽然我可以在那里运行任何容器。

Jenkinspipe道的Docker插件 – 没有用户存在uid 1005

我试图从Jenkinspipe道中的Docker容器内部执行SSH命令。 我正在使用CloudBees Dockerpipe道插件来启动容器并执行命令,并使用SSH代理插件来pipe理我的SSH密钥。 这里是我的Jenkinsfile的基本版本: node { step([$class: 'WsCleanup']) docker.image('node').inside { stage('SSH') { sshagent (credentials: [ 'MY_KEY_UUID' ]) { sh "ssh -vvv -o StrictHostKeyChecking=no ubuntu@example.org uname -a" } } } } 当SSH命令运行时,我得到这个错误: + ssh -vvv -o StrictHostKeyChecking=no ubuntu@example.org uname -a No user exists for uid 1005

在docker中使用ssh-agent

我想使用ssh-agent将我的密钥转发到docker映像,并从一个私人github回购。 我在优胜美地上使用https://github.com/phusion/passenger-docker稍微修改版本的boot2docker。 ssh-add -l …key details boot2docker up 然后我使用我在很多地方看到的命令(即https://gist.github.com/d11wtq/8699521 ): docker run –rm -t -i -v $SSH_AUTH_SOCK:/ssh-agent -e SSH_AUTH_SOCK=/ssh-agent my_image /bin/bash 但是,它似乎并没有工作: root@299212f6fee3:/# ssh-add -l Could not open a connection to your authentication agent. root@299212f6fee3:/# eval `ssh-agent -s` Agent pid 19 root@299212f6fee3:/# ssh-add -l The agent has no identities. root@299212f6fee3:/# ssh git@github.com Warning: Permanently added […]

如何通过SSH连接到MySQL Docker容器?

当我尝试通过SSH连接到主机Mashine(vServer),然后尝试通过内部Docker Container-IP连接时,我无法连接到MySQL。 这是我的docker-compose文件。 version: '2' services: mysql: build: ./mysql environment: MYSQL_ROOT_PASSWORD: test volumes: – ./db:/var/lib/mysql 我find的唯一解决scheme是将MySQL容器的MySQL-Port转发给Host-Mashine。 version: '2' services: mysql: build: ./mysql environment: MYSQL_ROOT_PASSWORD: test volumes: – ./db:/var/lib/mysql ports: – 3306:3306 然后我能够通过主机IP连接到MySQL,但是这是没有SSH的,直接通过TCP和端口。 对于我来说,把MySQL服务带入互联网是一件不容易的事情。 原因可以在这里findhttps://security.stackexchange.com/questions/63881/is-it-not-safe-to-open-mysqls-port-to-the-internet为什么这是不是一个好习惯带你mysql端口进入互联网。 那么,用SSH连接到我的docker mysql容器,但保持mysql端口closures的是一个好的做法?

jenkins:运行构build不configurationdocker奴隶

我使用docker-plugin 0.10.0运行Jenkins 1.609.1来configurationjenkins docker slave。 Docker是在Ubuntu 14.04上运行的1.0.1。 我在https://wiki.jenkins-ci.org/display/JENKINS/Docker+Plugin(“Shortcut:Pulling a Docker image”)上创build了一个基于evarga/jenkins-slave每个指令的定制evarga/jenkins-slave镜像。 在我的Jenkinsconfiguration中, 将“Docker”添加到“Cloud”区域 指向本地docker的URL http:// localhost:4243 /,并且也正确地configuration了docker(我可以运行“Test connection”并且返回“1.0.1”) 使用supervisord创build一个自定义的my/jenkins:0.1 ( my/jenkins:0.1 )图像,在里面运行SSH,MySQL,Postgres,ElasticSearch,PHP和NodeJS 手动运行容器,我可以与用户jenkins / jenkins SSH里面 我也给容器密码sudo权限的jenkins用户 我已经添加了一个docker图像到“Doc​​ker模板”(如上: my/jenkins:0.1 ),并通过“Docker SSH启动器”提供启动方法 在作业configuration中: 我选中了“Docker容器” 加了我的标签 源代码通过git checkout连接 当我运行这个工作时,只执行git checkout,但不是在slave上,而是直接在主机上: Started by user MyUser Building in workspace /var/lib/jenkins/workspace/Project-Core > git rev-parse –is-inside-work-tree # timeout=10 Fetching changes from […]

通过SSH将应用程序安装到Docker容器中

为了提供背景知识,我有一个部署工作stream,可以同时将应用程序下载并安装到多个系统/服务器中。 为了testing这个工作stream程,我需要validation在500个系统上的并发部署。 我无法创build500个虚拟机来testing这个。 我采取了Docker容器的方法来testing这个工作stream程。 现在面临的挑战是如果我启动一个具有公共/静态IP地址的容器并在容器中安装ssh,那么我可以通过sshlogin到这个容器。 但是我不能用相同的configuration启动另一个容器,因为主机上的容器#1已经使用了端口22,并且我不能给出不同的端口,因为我的部署工作stream在内部只使用端口22。 我认为使用端口转发/ NAT可以实现,可以是每当请求到达IP#1时,然后使用端口22,并且当请求到达IP#2时,然后使用端口#27。 但是我不确定这是否可能。 任何指针在这将是非常有帮助的。