Tag: ssh

如何使用谷歌云计算引擎启动脚本自动克隆Docker容器内的git仓库。 只能交互使用

我开始这样一个谷歌云计算引擎: gcloud compute instances create cloudml \ –image-family=container-vm \ –image-project=google-containers \ –machine-type=n1-highmem-8 \ –metadata-from-file startup-script=Job.sh 我的启动脚本的顶部看起来像 #!/bin/bash #get git keys gsutil cp -r gs://[mybucket]/.ssh/id_rsa ~/.ssh/ gsutil cp -r gs://[mybucket]/.ssh/id_rsa.pub ~/.ssh/ chmod 400 ~/.ssh/id_rsa #run docker container and pass keys sudo docker run -it -v /home/ben/.ssh/:/root/.ssh/ gcr.io/api-project-773889352370/rwhales bin/bash #add git to known hosts. ssh-keyscan github.com >> […]

在同一主机上控制对多个Docker容器的访问

我的任务是使用Docker在单个Amazon EC2实例上设置多个独立的客户端特定的Web应用程序实例。 基本应用程序对于每个实例基本相同,但是已经为每个客户端定制。 目标如下: 1)每个集装箱将被固定和“沙箱”,使得没有一个集装箱可能影响其他人或主人。 这是我的理解Docker做这个,但我只是想确定。 2)每个容器都是“完整的”,并有自己的用户,数据库,访问密钥等。 3)与一个容器关联的用户应该无法访问任何其他容器或主机的任何方面。 我已经search了类似的问题,有些似乎触及了这个想法,但并没有完全回答我的问题。 我知道这可能违背了Docker的理念,但是,这是可行的,那么最好的方法是什么? 过去,当每个主机只有一个客户端时,我们使用SSH隧道来访问相关的端口,但是在同一个主机上有多个客户端可以使用这种安全的方法吗? 像Nginx或Apache这样的反向代理服务器可以更好地服务于这种设置吗? 我应该在这里指定,我们目前正在寻找只有一个域来访问这个主机。 我想这个问题归结为,如何在单个主机上运行多个客户端容器时限制每个容器级别的远程访问? 任何帮助深表感谢。

Bluemix:绑定到容器的服务不会出现在VCAP_SERVICES中

我正在尝试使用IBM Containers for Bluemix部署容器并将其绑定到Bluemix服务。 我从现有的Bluemix应用程序开始,它绑定到我想要的MongoDB服务。 我validation它的VCAP_SERVICES环境variables是否正确填充: $ cf env mamacdon-app Getting env variables for app mamacdon-app in org mamacdon@ca.ibm.com / space dev as mamacdon@ca.ibm.com… OK System-Provided: { "VCAP_SERVICES": { "mongodb-2.4": [ { "credentials": { /*private data hidden*/ }, "label": "mongodb-2.4", "name": "mongodb-1a", "plan": "100", "tags": [ "nosql", "document", "mongodb" ] } ] } … 然后,我使用ice命令在Bluemix中运行映像,使用–bind […]

无法通过ssh连接到基于ibmnode:latest的容器

我无法连接到创build的容器。 这是Dockerfile FROM registry-ice.ng.bluemix.net/ibmnode:latest COPY id_rsa.pub /root/.ssh/ RUN cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys RUN DEBIAN_FRONTEND=noninteractive apt-get -y install git && mkdir /vApp COPY . vApp RUN cd vApp && npm install -d –production EXPOSE 3000 22 CMD ["node", "vApp/app.js"] 这里是冰ps的输出: Container Id Name Group Image Created State Private IP Public IP Ports bbf72b72-6377-4c53-afdf-a133eed1872c toto May 28 […]

如何通过SSH连接docker容器?

我使用这个教程: https : //docs.docker.com/examples/running_ssh_service/我已经完成了上面的步骤,我使用docker ps来查找端口,并假设我的端口是32769当我input这个命令: ssh root@192.168.1.2 -p 32769 它只是告诉我: ssh root @ localhost -p 32769 ssh:连接到主机localhost端口32769:连接被拒绝 这是关于命令“docker ps”的信息: bash-3.2$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 5e22e16a7742 liuxin/centos:ssh "/bin/sh -c '/usr/sb 40 minutes ago Up 40 minutes 0.0.0.0:32769->22/tcp c_ssh_centos eaa412773bb2 registry "docker-registry" 2 hours ago Up 2 hours 0.0.0.0:5000->5000/tcp registry 我使用Mac […]

docker-machine ssh命令为mongodump

设置问题: 创build一个数据卷容器 $ docker create –name dbdata -v /dbdata mongo /bin/true 在链接到数据卷容器的容器中启动mongo $ docker run -d –name mongo –volumes-from dbdata mongo validation你可以使用mongo客户端连接到mongo $ docker run -it –link mongo:mongo –rm mongo sh -c 'exec mongo "$MONGO_PORT_27017_TCP_ADDR:$MONGO_PORT_27017_TCP_PORT/test"' 问题: docker-machine ssh需要一个host和一个command参数在主机上执行。 我想要执行下面的mongodump命令,该命令在ssh进入docker主机后工作: $ docker-machine ssh demo root@demo:~# docker run –rm –link mongo:mongo -v $HOME:/backup mongo bash -c 'mongodump […]

如何设置对docker集装箱的SSH访问?

我正在运行一个EC2实例中的docker容器,如何直接ssh进入docker容器,而不必每次login到容器主机,即EC2实例?

是否有可能从我的本地机器到AWS托pipe的Docker容器的推送/ git推送?

基本上它说的问题,但我真正的目的是在AWS中创build一个docker容器,我可以从git推送我的代码在容器中进行部署。 所以,假设我有一个Docker镜像,它的环境都设置好了。 它也有bare git仓库,它具有post-receive钩子,将我的文件复制到容器内的指定目录。 该容器有必要的端口暴露给我访问我的应用程序。 我已经成功创build了我的映像,并在AWS中进行了设置,但是我陷入困境的是我不知道如何将本地机器连接到AWS内部的容器。 我已经试过端口映射,而像这样运行: – docker run -d -i -p 80:3000 -p 8022:22 aws /bin/bash 其中3000是我从我的应用程序从我的容器中公开的端口,我希望将容器的ssh端口映射到我的AWS实例( 8022 )中的某个不同的端口。 至今还没有运气。 任何帮助将不胜感激,或者如果我正在做这个错误的方式,那么也会被赞赏。 我知道这是有点矫枉过正,但我​​希望这只是在EC2(而不是亚马逊的容器服务)。

在bash中防止请求太快

我必须在bash脚本中启用,停止并重新启动docker。 问题是这个命令是用ssh-connection来执行的。 所以执行该命令后,ssh-connectionclosures。 所以没有足够的时间来启动和停止docker。 我得到这个错误: docker.service启动请求重复得太快了 我怎样才能防止这个? 是否有可能在同一个命令中执行sleep ${SSHKEY}$i sudo systemctl start docker ${SSHKEY}$i sleep 4 以上不起作用,因为连接closures。 我试过了: ${SSHKEY}$i sudo systemctl start docker; sleep 1 但似乎没有工作,因为第一个命令后立即closures连接。

docker机如何使用dockerAPI来复制证书

我的问题是,据我所知docker机使用docker远程API来做任何事情,例如重新生成证书。 我已经检查dockerAPI,但无法find如何才能使用dockerAPI发送证书到该机器,有人可以帮忙吗?