Docker 云托管

Docker on Cloud hosting

最近我创建了一个 linode 帐户并在 ubuntu 14.04LTS 中安装了 docker 我安装了一个镜像,运行一个容器,目前一切正常。

我想 scp 从我的本地机器到 linode 目录,我这样做成功了。

scp file.txt root@ip:/path/to/directory

当我意识到 docker 容器在 linode root@ip:/ 中有自己的 root@hostname:/path/to/directory 并且我不知道如何从 scp我的本地机器直接到容器路径,只是因为我不知道语法并且我对这个过程不是很有经验。

我环顾四周,向 Linode 寻求支持,但他们几乎没有什么可以帮助我的。

我决定测试我的一些理论,例如:不是 scp 直接到 docker 容器,我会 scp 到 linode scp file.txt root@ip:/home 然后从那里我在我点击回车后会做一个docker cp file.txt <container-name>:/path/to/directory,我没有得到任何反应,既没有错误也没有成功。

我是这一切的初学者,所以我错过了什么?我有什么不明白的?

您的 docker cp 方法是正确的。事实上它 return 没有任何反应。您可以使用 docker exec containerid bash 检查文件是否确实被复制。

还有一种方法比较复杂,不推荐。如果你在你的容器中安装 openssh 并打开另一个端口让我们说 -p 2222:22 你可以直接 scp 到容器。

当然可以通过docker的方式来实现。声明一个卷,将您的主机目录链接到您的容器目录:-v /path/to/directory:/path/to/directory。然后你的 scp 到你的主机将工作。

此致