目录
1、docker cp
1.1 环境介绍
| 宿主机 | 容器 | 传输方式 |
IP地址 | 172.16.201.181/24 | 172.17.0.2/16 | docker cp |
目录 | /test | /test1 | |
测试目录 | /test | /test1 |
1.2 操作如下
【可不登录容器,把需要的文件写好,然后复制文件到指定目录下】
(1)查看宿主机/test目录
(2)Docker cp复制
- 文件和目录的传输方式是一样的
- 容器内/test1目录可存在也可不存在,若存在,复制到容器内后也不会覆盖原有内容,若不存在则会自动新建/test1目录
docker cp /test/ 2901786efbb4://test1
(3)进入容器内查看
- 进入容器
docker exec -it 2901786efbb4 /bin/bash
- 查看/test目录
- 查看/test1目录内容是否和宿主机一致
(4)完成
2、主机目录映射
2.1 环境介绍
| 宿主机 | 容器 | 传输方式 |
IP地址 | 172.16.201.181/24 | 172.17.0.2/16 | 通过主机映射 |
目录 | /test | /test1 | |
测试目录 | /test | /test1 |
2.2 操作如下
(1)启动一个容器
docker run -d -p 80:80 --name nginx -v /test:/test1 5a3221f0137b
-d 后台执行
-p 绑定端口
--name 指定容器的名字
-v 宿主主机目录和容器目录建立映射关系,冒号前为宿主主机目录,冒号后为容器对应目录
(2)查看宿主机目录/test
(3)进入容器内查看
- 进入nginx容器
docker exec -it d46b579c987e /bin/bash
- 查看目录/test1
(4)报错解决
[root@localhost ~]# setenforce 0
【Rethat系统中docker的默认开启了--selinux-enabled 选项,(ubutun中是没有开启的)】
(5)查看内容是否和宿主机/test一致
(6)验证
- 在容器/test1目录内增删改查,宿主机内/test目录也同时发生变化
- 在宿主机/test目录内增删改查,容器内/test1目录也同时发生变化
(7)完成