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