?
This document uses PHP Chinese website manual Release
將文件從本地主機(jī)復(fù)制到機(jī)器,從機(jī)器到機(jī)器或從機(jī)器復(fù)制到本地主機(jī)scp
。
符號(hào)是machinename:/path/to/files
用于論證的; 在主機(jī)的情況下,您不必指定名稱,只需指定路徑。
考慮以下示例:
$ 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
如何遞歸復(fù)制文件的-r
標(biāo)志一樣,docker-machine
具有此功能的-r
標(biāo)志。
在從機(jī)傳輸文件到機(jī)器的情況下,他們經(jīng)過本地主機(jī)的文件系統(tǒng)中第一個(gè)(使用scp
的-3
標(biāo)志)。
當(dāng)您使用docker-machine scp
應(yīng)用程序部署將文件復(fù)制到遠(yuǎn)程服務(wù)器時(shí),請(qǐng)確保docker-compose
Docker守護(hù)程序知道如何找到它們。您可以指定絕對(duì)路徑,例如/home/myuser/workspace
,將在/workspace
運(yùn)行Docker守護(hù)程序的遠(yuǎn)程主機(jī)上的絕對(duì)路徑中,將其裝載到容器中的Compose文件中。本地客戶端路徑(例如,在您的筆記本電腦上)對(duì)遠(yuǎn)程計(jì)算機(jī)上運(yùn)行的守護(hù)程序不起作用,因此請(qǐng)避免使用相對(duì)路徑。
例如,假設(shè)您想將本地目錄傳輸/Users/londoncalling/webapp
到遠(yuǎn)程計(jì)算機(jī),并將其掛載到遠(yuǎn)程主機(jī)上的容器中。(我們假設(shè)遠(yuǎn)程用戶是ubuntu
。)你可以這樣做:
$ docker-machine scp -r /Users/londoncalling/webapp MACHINE-NAME:/home/ubuntu/webapp
然后編寫一個(gè)docker-compose文件,該文件將其綁定到:
version: "3.1"services: webapp: image: alpine command: cat /app/root.php volumes: - "/home/ubuntu/webapp:/app"
我們可以這樣做:
$ eval $(docker-machine env MACHINE-NAME)$ docker-compose run webapp