
docker-compose 配置如下
version: "3" services: nginx: image: nginx ports: - "80:80" container_name: nginx restart: always privileged: true volumes: #1 - /data/nginx:/etc/nginx #2 - /etc/nginx 用第一种方式,会报错 open() "/etc/nginx/nginx.conf" failed (2: No such file or directory)
用第二种方式就没问题
不知道为什么第一种方式,容器的文件没有同步到宿主机上,权限都有
本人刚学 Docker
1 noahsophie OP 目前我是照着这个教程学的:https://yeasy.gitbooks.io/docker_practice/content/ 大佬们要是有好的学习地址,也可以发一下 |
2 kchum 2019-07-19 12:59:44 +08:00 via iPhone 你别挂载先 复制一份 nginx.conf 出来了放在要挂载的目录 |
3 kchum 2019-07-19 13:03:14 +08:00 via iPhone /etc/nginx/的所有文件复制到 host 要挂载的目录 |
4 gam2046 2019-07-19 13:11:22 +08:00 因为你的宿主环境下 /data/nginx/nginx.conf 文件不存在呀,提示说的很清楚了。容器内这样提示,而容器内这个目录是由宿主 mount 进去的。 那么结果就是要么宿主挂载目录下没有这个文件,要么是宿主目录下存在这个文件,但是容器内的 nginx 没有权限读取。 |
5 noahsophie OP |
6 VD 2019-07-19 13:46:53 +08:00 |
7 VD 2019-07-19 13:48:11 +08:00 挂载是这样的 /host/path:/container/path 讲宿主机的目录或文件,挂载到容器中 |
8 noahsophie OP @VD 知道了~ 那么我上面第二种不指定目录方式绑定成功,是 docker 帮我把容器的文件复制到宿主机目录下了吗 |
9 VD 2019-07-19 14:20:13 +08:00 |
10 noahsophie OP |