宿主機內文件復制到docker容器內,即文件上傳。docker容器內文件復制到宿主機內,即文件下載。
a.上傳文件命令:
docker cp 要拷貝的文件路徑 containerID(CONTAINERNAME):要拷貝到容器里的文件路徑
示例:docker cp /usr/bin/a.txt myjenkins: /var/jenkins_home,linux系統里宿主機文件路徑 /usr/bin/a.txt,windows系統的話,路徑表達式:D:/a.txt
b.下載文件命令:
docker cp containerID(CONTAINERNAME):容器內要拷貝的文件或文件夾路徑 要拷貝到宿主機內的目標路徑
示例: docker cp mykenkins:/var/jenkins_home/requirements.txt /var(D:/project_test/)
注意的點是:命令均在宿主機上面執行命令,目錄的上傳和下載,需要對目錄下的層級目錄分別執行cp,本人在拷貝過程中,出現過下載某目錄文件到宿主機,其他該目錄下的文件夾沒下載拷貝到宿主機。
記錄:
容器內下載python的編譯目錄到本地宿主機(windows)
docker cp 8269c92495b0:/var/jenkins_home/python3/ D:/docker_run/python3
--該命令會在宿主機內D:/docker_run/python3下復制文件夾,且只有文件夾python-3.8.6被拷貝。
其他編譯文件夾如bin,lib等未拷貝到宿主機內,需再一條一條執行
docker cp CONTAINERID:/var/jenkins_home/python3/bin D:/docker_run/python3
docker cp CONTAINERID:/var/jenkins_home/python3/include D:/docker_run/python3
docker cp CONTAINERID:/var/jenkins_home/python3/lib D:/docker_run/python3
docker cp CONTAINERID:/var/jenkins_home/python3/share D:/docker_run/python3
c.另附一條進入容器內命令
docker exec -it -uroot CONTAINERID /bin/bash