![fd8d6acd9c5c06801f6ffc45514227b8.png](https://i-blog.csdnimg.cn/blog_migrate/bc925fc16baa6852d535b63ccb948a0a.jpeg)
经过上一节的学习,我们已经能够进入容器内部操作了
Linux运维-Docker|04.进入Docker容器内部
当我们需要复制文件到docker内部
或者需要从docker内部复制文件到宿主机时
使用docker cp命令
复制文件到容器内
docker cp 本地路径 容器ID:容器内路径
复制容器文件到宿主机
docker cp 容器ID:容器内路径 本地路径
启动一个容器来实验一下
docker run --rm -id centos:7 /bin/bash
![fff864afc1624a354fd0e204b56e332d.png](https://i-blog.csdnimg.cn/blog_migrate/7a55f66c3c664f3c667e4b553d17b51d.jpeg)
在本地创建一个文件,复制到容器里面
![2c830aca09cd568bf80ea944f4059fbc.png](https://i-blog.csdnimg.cn/blog_migrate/c02bc8b108387641accf1bdca9cf9c21.jpeg)
登录到容器内部,可以找到复制到这里的文件
![1698782e1fdbaa16bc5883558f865f76.png](https://i-blog.csdnimg.cn/blog_migrate/39ff8697d9bd3023cf71e64f86042eb3.jpeg)
在复制文件时有两个参数可以使用
--archive ,-a 存档模式复制文件的所有uid和gid
--follow-link ,-L 复制文件为链接文件时,会将目标文件复制过去
先来看下-L的使用
我们创建一个文件,再创建这个文件的链接文件
![ae1b63e55839d26b270558f002c7a520.png](https://i-blog.csdnimg.cn/blog_migrate/0228b240c27e29b2d739c5a4392b9aa5.jpeg)
将链接文件复制到容器内并登陆到docker内部查看
只是将链接文件复制倒容器内部了
由于缺少目标文件,链接文件显示红色,也无法查看
![947d7bf6f74afee11caa8386d620a161.png](https://i-blog.csdnimg.cn/blog_migrate/271e3c4092951514d17869076a070ca9.jpeg)
我们加上-L选项,就能正确的复制目标文件到容器内部了
![f3f8fa95c980b770ab44c48452a3b4b1.png](https://i-blog.csdnimg.cn/blog_migrate/b2802c6818a4f72d699aec53debca8b5.jpeg)
使用docker cp复制文件夹的时候
使用-a能够尽可能的保留文件权限
有时候容器内部并不是使用的root用户
从宿主机复制文件到容器,如果权限不对,容器就无法访问此文件
也无法修改权限,所以我们就需要在宿主机上处理好权限
使用-a将文件连同uid和gid信息复制进去