一: 容器挂载主机文件目录
docker run -it -v /home/dock/Downloads:/usr/Downloads ubuntu64 /bin/bash
通过-v参数,冒号前为宿主机目录,必须为绝对路径,冒号后为镜像内挂载的路径。
关于目录挂载的更多研究可以看:https://www.cnblogs.com/mybxy/p/10393935.html
二:主机和容器间文件互传
从容器内复制到主机
docker cp <containerId>:/file/path/within/container /host/path/target
用-v挂载主机数据卷到容器内
docker run -v /path/to/hostdir:/mnt $container
再进入容器内部对应路径查找所需文件
cp /mnt/sourcefile /path/to/destfile
直接将主机文件复制进容器指定位置
#docker ps //查看容器短ID
#docker inspect -f '{{短ID}}' //通过短容器短ID获取容器完整ID
将主机文件复制进入容器
$ sudo cp path-file-host /var/lib/docker/aufs/mnt/FULL_CONTAINER_ID/PATH-NEW-FILE
或者
$ sudo cp path-file-host /var/lib/docker/devicemapper/mnt/123abc<<id>>/rootfs/root
使用输入输出符
#docker run -i ubuntu /bin/bash -c 'cat > /path/to/container/file' < /path/to/host/file/
或
#docker exec -it <container_id> bash -c 'cat > /path/to/container/file' < /path/to/host/file/
参考:https://blog.csdn.net/yangzhenping/article/details/43667785#