宿主机内文件复制到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