Docker容器内数据如何映射到本地(数据卷)

浪子不回头ぞ 提交于 2020-01-22 16:15:46

第一种:用户自行维护挂载目录

        此种方式涉及到权限问题,用户必须手动处理,如果权限处理不好就会报Permission Denied等问题。

(docker run --name nginx -v /nginx/html:/usr/local/nginx/html -v /nginx/logs:/usr/local/nginx/logs -p 80:80 7743d9092020)   

有2种解决方式。

①、可以通过 setenforce 0 来关闭安全,关闭以后再通过setenforce 1开启

(docker run -d --name nginx -v /nginx/html:/usr/local/nginx/html -v /nginx/logs:/usr/local/nginx/logs -p 80:80 7743d9092020)

 ②、通过privileged=true

(docker run -d --name nginx2 -v /nginx/html:/usr/local/nginx/html -v /nginx/logs:/usr/local/nginx/logs -p 81:80 --privileged=true 7743d9092020)

 创建成功以后,容器nginx和nginx2就共享了/nginx/html和/nginx/logs,写一个html测试下

第二种:通过docker容器进行管理维护

        此种方式不必考虑权限问题,docker会为我们处理好权限。 

        创建、查看、删除数据卷(docker volume create --name v1 、docker inspect v1、docker volume rm v1)

         

         (docker run -d -p 80:80 -v v1:/usr/local/nginx --name nginx 7743d9092020)

通过docker inspect 查看数据卷实际存放地址

进入到数据的存储目录中创建abc.html

有喜欢的朋友可以关注下头条号《老徐聊技术

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!