Networking Rsync(或ssh)到EC2上的远程docker容器

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

因为rsync使用ssh传输文件,我认为这可以归结为能够远程ssh到我的docker容器中

我目前有一个基本centos:6.6 docker集装箱,从2222->22运行港口转运:

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