Networking Rsync(或ssh)到EC2上的远程docker容器
因为rsync使用ssh传输文件,我认为这可以归结为能够远程ssh到我的docker容器中 我目前有一个基本centos:6.6 docker集装箱,从2222->22运行港口转运:Networking Rsync(或ssh)到EC2上的远程docker容器,networking,ssh,docker,amazon-ec2,rsync,Networking,Ssh,Docker,Amazon Ec2,Rsync,因为rsync使用ssh传输文件,我认为这可以归结为能够远程ssh到我的docker容器中 我目前有一个基本centos:6.6 docker集装箱,从2222->22运行港口转运: IMAGE COMMAND CREATED STATUS PORTS a374fd62f97f "/bin/bash" 2 hours ago Up 2 hours
IMAGE COMMAND CREATED STATUS PORTS
a374fd62f97f "/bin/bash" 2 hours ago Up 2 hours 0.0.0.0:2222->22/tcp
我可以使用ssh连接到运行docker服务的服务器
ssh -i key.pem ec2-user@PUBLIC_IP
从我的EC2实例,在容器中安装openssh服务器后,我可以通过以下方式ssh到容器中:
ssh root@127.0.0.1 -p 2222
但是,当我尝试使用ssh时:
ssh root@PUBLIC_IP -p 2222
它以“拒绝连接”的方式失败。(我在EC2中的安全组在所有IP空间上的入站端口2222都是打开的)如果ssh可以工作,那么scp也可以
scp root@${REMOTE_IP}:/tmp/remotefile /tmp/localfile
创建一个aws弹性块存储卷可能更容易,您的容器可以装载该卷,然后将数据复制到该卷
。。。或者S3桶。。。然后在本地复制
# ........ create s3 bucket
curr_bucketname=s3://${AWS_S3_BUCKET}
aws s3 mb ${curr_bucketname}
# ........ list buckets
aws s3 ls
然后将S3存储桶安装到您的容器中,一旦填充完毕,然后
# ........ copy local dir to s3
aws s3 sync /opt/my/local/dir/of/files/ ${curr_bucketname}
# ... copy s3 bucket to populate (or just refresh) local dir
aws s3 sync ${curr_bucketname} /usr/tmp/local/dir