Docker 是一款流行的容器化工具,可以在不同的操作系統(tǒng)上運(yùn)行同一份應(yīng)用程序,有效地解決了開發(fā)、測試、部署等環(huán)節(jié)的痛點(diǎn)。在 Docker 中,我們可以通過容器內(nèi)外的文件復(fù)制來實(shí)現(xiàn)文件傳輸。
要將容器中的文件傳輸?shù)奖镜兀梢允褂?code>docker cp命令。該命令的語法格式如下:
docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|- docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH
其中,CONTAINER
表示容器的名稱或 ID;SRC_PATH
表示容器內(nèi)的文件路徑;DEST_PATH
表示目標(biāo)文件的路徑。如果DEST_PATH
以-
結(jié)尾,則表示將文件輸出到終端。
例如,我們要將容器內(nèi)的/app/logs/access.log
文件傳輸?shù)奖镜氐?code>/tmp/目錄下,可以使用以下命令:
docker cp mycontainer:/app/logs/access.log /tmp/
執(zhí)行命令后,該文件將被復(fù)制到本地的/tmp/
目錄下。
同理,如果要將本地文件復(fù)制到容器內(nèi),可以使用以下命令:
docker cp /tmp/access.log mycontainer:/app/logs/
這樣,本地的/tmp/access.log
文件將被復(fù)制到容器內(nèi)的/app/logs/
目錄下。
需要注意的是,docker cp
命令是單向的,即只能從容器內(nèi)復(fù)制文件到本地或從本地復(fù)制到容器內(nèi),不能實(shí)現(xiàn)容器與本地文件之間的直接傳輸。如果需要實(shí)現(xiàn)該功能,可以考慮使用第三方工具或掛載目錄的方式。