首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

docker-machine scp

将文件从本地主机复制到机器,从机器到机器或从机器复制到本地主机scp

符号是machinename:/path/to/files用于论证的; 在主机的情况下,您不必指定名称,只需指定路径。

考虑以下示例:

代码语言:javascript
复制
$ cat foo.txt
cat: foo.txt: No such file or directory
$ docker-machine ssh dev pwd
/home/docker
$ docker-machine ssh dev 'echo A file created remotely! >foo.txt'
$ docker-machine scp dev:/home/docker/foo.txt .
foo.txt                                                           100%   28     0.0KB/s   00:00
$ cat foo.txt
A file created remotely!

就像scp如何递归复制文件的-r标志一样,docker-machine具有此功能的-r标志。

在从机传输文件到机器的情况下,他们经过本地主机的文件系统中第一个(使用scp-3标志)。

为远程部署指定文件路径

当您使用docker-machine scp应用程序部署将文件复制到远程服务器时,请确保docker-composeDocker守护程序知道如何找到它们。您可以指定绝对路径,例如/home/myuser/workspace,将在/workspace运行Docker守护程序的远程主机上的绝对路径中,将其装载到容器中的Compose文件中。本地客户端路径(例如,在您的笔记本电脑上)对远程计算机上运行的守护程序不起作用,因此请避免使用相对路径。

例如,假设您想将本地目录传输/Users/londoncalling/webapp到远程计算机,并将其挂载到远程主机上的容器中。(我们假设远程用户是ubuntu。)你可以这样做:

代码语言:javascript
复制
$ docker-machine scp -r /Users/londoncalling/webapp MACHINE-NAME:/home/ubuntu/webapp

然后编写一个docker-compose文件,该文件将其绑定到:

代码语言:javascript
复制
version: "3.1"
services:
  webapp:
    image: alpine
    command: cat /app/root.php
    volumes:
    - "/home/ubuntu/webapp:/app"

我们可以这样做:

代码语言:javascript
复制
$ eval $(docker-machine env MACHINE-NAME)
$ docker-compose run webapp

扫码关注腾讯云开发者

领取腾讯云代金券