本篇内容介绍了“Docker中容器文件拷贝及目录挂载的方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习�...
本篇内容介绍了“Docker中容器文件拷贝及目录挂载的方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
Docker:容器文件拷贝
目标:掌握文件拷贝命令
将linux宿主机中的文件拷贝到容器内可以使用命令:
# docker cp 需要拷贝的文件或目录 容器名称:容器目录
# 创建一个文件abc.txt
touch abc.txt
# 复制 abc.txt 到 mycentos2 的容器的 / 目录下
docker cp abc.txt mycentos2:/
# 进入mycentos2容器
docker exec -it mycentos2 /bin/bash
# 查看容器 / 目录下文件
ll
将文件从容器内拷贝出来到linux宿主机使用命令:
# docker cp 容器名称:容器目录 需要拷贝的文件或目录
# 进入容器后创建文件aaa.txt
touch aaa.txt
# 退出容器
exit
# 在Linux宿主机器执行复制;将容器mycentos2的/aaa.txt文件复制到 宿主机器的/root目录下
docker cp mycentos2:/aaa.txt /root
注意:停止状态的容器也是可以进行文件拷贝的,可以拷进去,也可以拷出来。
Docker:容器目录挂载
目标:掌握目录挂载命令(其实就是目录映射)
可以在创建容器的时候,将宿主机的目录与容器内的目录进行映射,这样我们就可以通过修改宿主机某个目录的文件从而去影响容器。
创建容器时添加-v参数,后边为宿主机目录:容器目录
例如: docker run -di -v /usr/local/test:/usr/local/test --name=mycentos3 centos:7(两个目录可以路径不同)
# 创建linux宿主机器要挂载的目录
mkdir /usr/local/test
# 创建并启动容器mycentos3
# 并挂载 linux中的/usr/local/test目录到容器的/usr/local/test
# 也就是在 linux中的/usr/local/test中操作相当于对容器相应目录操作
docker run -di -v /usr/local/test:/usr/local/test --name=mycentos3 centos:7
# 在linux宿主机下创建文件
touch /usr/local/test/bbb.txt
# 进入容器
docker exec -it mycentos3 /bin/bash
# 在容器中查看目录中是否有对应文件bbb.txt
cd /usr/local/test
ll
注意:如果你共享的是多级的目录,可能会出现权限不足的提示。
这是因为CentOS7中的安全模块selinux把权限禁掉了,需要添加参数 --privileged=true 来解决挂载的目录没有权限的问题。
“Docker中容器文件拷贝及目录挂载的方法是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注捷杰建站网站,小编将为大家输出更多高质量的实用文章!