gpt4 book ai didi

docker - 当挂载/etc/nginx/container 不运行

转载 作者:行者123 更新时间:2023-12-02 18:51:44 24 4
gpt4 key购买 nike

我想将/etc/nginx 文件夹挂载到主机上的自定义文件夹。但是,每当我尝试这个时,容器根本不会运行。安装其他任何东西似乎都不是问题,尽管我希望它安装到的文件夹总是空的。

我尝试使用/usr/local/nginx/conf 或/usr/local/etc/nginx 而不是/etc/nginx,但该文件夹始终为空。虽然这里容器至少运行。这让我相信正是这种特定的安装导致了问题。

这就是我想要做的。

docker run -p 80:80 -p 443:443 -v /home/pi/nginx_files/config:/etc/nginx -v /home/pi/nginx_files/certs:/etc/ssl/private -d nginx

容器似乎与任何其他文件夹一起运行,正如我所尝试的那样

docker run -p 80:80 -p 443:443 -v /home/pi/nginx_files/config:/etc/nginx/b -v /home/pi/nginx_files/certs:/etc/ssl/private -d nginx

只是看看是否有任何不存在的文件夹没有这个问题。

在此之前,我尝试使用 docker composer 和 docker-compose.yaml

version: '3'

services:
reverse:
container_name: reverse
hostname: reverse
image: nginx
ports:
- 80:80
- 443:443
volumes:
- <path/to/your/config>:/etc/nginx
- <path/to/your/certs>:/etc/ssl/private

tried docker-compose up

但是它遇到了同样的问题,它甚至没有启动容器。错误信息:

Creating network "nginx_files_default" with the default driver
Creating reverse ... done
Attaching to reverse
reverse | 2019/08/31 00:41:07 [emerg] 1#1: open() "/etc/nginx/nginx.conf" failed (2: No such file or directory)
reverse | nginx: [emerg] open() "/etc/nginx/nginx.conf" failed (2: No such file or directory)
reverse exited with code 1

如果我使用不存在的文件夹,它就会无限期地卡在“附加到反向”中。但是我没有收到“没有这样的文件或目录”的消息,尽管这些文件夹完全由名称组成并且绝对不存在。

我是否误解了安装点?我以为我可以通过让容器将它保存在主机上来查看 default.conf 文件,但它不会创建一个文件吗?我必须自己创建一个然后将其安装到容器中吗?挂载是否会创建一个文件夹供容器读取,而不是创建一个文件夹供写入?我对 docker 和 linux 还很陌生,所以如果这是一个相当愚蠢的问题,请原谅我。

最佳答案

你不应该直接挂载整个 /etc/nginx,它会挑衅地破坏你的容器,因为它会覆盖以下文件和目录。

conf.d fastcgi_params koi-utf koi-win, mime.types modules nginx.conf scgi_params uwsgi_params and win-utf

不深入每个目录的细节,只需要mime.types,结果它会被覆盖,如果没有/etc/nginx/mime,你的Nginx将永远无法运行。类型

如果你想更新配置那么你应该只挂载

/etc/nginx/conf.d

例如

docker run -p 80:80 -p 443:443 -v /home/pi/nginx_files/config:/etc/nginx/conf.d -v /home/pi/nginx_files/certs:/etc/ssl/private -d nginx

如果真的想更新nginx.conf 那么你应该挂载确切的文件,而不是整个目录

docker run -p 80:80 -p 443:443 -v /home/pi/nginx_files/config/nginx.conf:/etc/nginx/nginx.conf  -v /home/pi/nginx_files/certs:/etc/ssl/private -d nginx

关于docker - 当挂载/etc/nginx/container 不运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57734446/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com