首页 > 编程知识 正文

docker安装后的配置文件,docker容器映射的文件权限

时间:2023-05-06 07:41:14 阅读:203178 作者:4696

着急的就看这一坨快速搞

随便启动一个 nginx 实例,只是为了复制出配置docker run -p 80:80 --name nginx -d nginx:1.10将容器内的配置文件拷贝到当前目录:docker container cp nginx:/etc/nginx .  别忘了后面的点修改文件名称:mv nginx conf 把这个 conf 移动到/mydata/nginx 下终止原容器:docker stop nginx执行命令删除原容器:docker rm $ContainerId创建新的 nginx;执行以下命令docker run -p 80:80 --name nginx -v /mydata/nginx/html:/usr/share/nginx/html -v /mydata/nginx/logs:/var/log/nginx -v /mydata/nginx/conf:/etc/nginx -d nginx:1.10 给 nginx 的 html 下面放的所有资源可以直接访问;

不着急的看这里听我娓娓道来哈

首先https://hub.docker.com/search?q=nginx&type=image docker镜像官网查阅相关资料

获取镜像文件: docker pull nginx

诉求:不但要 有一个容器,还要映射发布目录到主机,映射配置到主机 用宿主机的8001端口对应容器的80

由于不清楚生成的容器中这些目录,我们先跑起来一个容器,进去看一看就知道了。

测试 跑一个容器: docker run -d --name nginx01 -p 80:80 nginx 进入容器: docker exec -it nginx01 bash 搜索nginx相关: find / -name nginx root@d95b2788b9cc:/# find / -name nginx/etc/default/nginx/etc/init.d/nginx/etc/logrotate.d/nginx/etc/nginxfind: '/proc/1/map_files': Operation not permittedfind: '/proc/24/map_files': Operation not permittedfind: '/proc/25/map_files': Operation not permittedfind: '/proc/26/map_files': Operation not permittedfind: '/proc/27/map_files': Operation not permittedfind: '/proc/28/map_files': Operation not permittedfind: '/proc/36/map_files': Operation not permitted/usr/lib/nginx/usr/sbin/nginx/usr/share/doc/nginx/usr/share/nginx/var/cache/nginx/var/log/nginx

进入这几个目录发现:

/usr/share/nginx目录下的html为映射文件目录

这几个目录中没有发现配置文件的踪影…

再次精准检索: find / -name nginx.conf root@d95b2788b9cc:/var/cache/nginx# find / -name nginx.conf/etc/nginx/nginx.conffind: '/proc/1/map_files': Operation not permittedfind: '/proc/24/map_files': Operation not permittedfind: '/proc/25/map_files': Operation not permittedfind: '/proc/26/map_files': Operation not permittedfind: '/proc/27/map_files': Operation not permittedfind: '/proc/28/map_files': Operation not permittedfind: '/proc/52/map_files': Operation not permitted

于是找到路配置文件目录。

我们宿主机建立映射文件 体检建立好目录(否则run的时候你想要的文件夹会意外的变成了文件)

/mydata/nginx/html/ 映射文件

对应容器文件夹 /usr/share/nginx/html/

把配置文件拿过来: docker cp nginx01:/etc/nginx/nginx.conf /mydata/nginx/conf

/mydata/nginx/conf/ nginx.conf配置文件夹

对应容器文件夹/etc/nginx/nginx.conf

删除测试容器: docker rm nginx01 基于我们收集的信息,run我们的目标容器 docker run --name nginx -p 8001:80 -v /mydata/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /mydata/nginx/html:/usr/share/nginx/html -d nginx

放置文件 测试起来:


大功告成

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。