小编Shr*_*kar的帖子

如何让 NGINX 在 Docker 中运行以重新加载 nginx.conf 配置

我正在尝试让基于 NGINX 的反向代理在 Windows/WSL2 环境中工作。我对 Docker 和 NGINX 世界非常陌生。我能够让以下命令工作

docker run --name nginx-test -p 8080:80 -v /home/skotekar/nginx.conf:/etc/nginx/nginx.conf:ro -v /mnt/d/site1/wwwroot:/usr/share/nginx/html:ro -d nginx:alpine
Run Code Online (Sandbox Code Playgroud)

然后我可以浏览 http://localhost:8080 并查看我的静态内容。正如您从命令中看到的,我的本地/home文件夹中有一个默认的nginx.conf,运行时该文件夹会映射到 NGINX Docker。第一次效果很好。

现在,如果我使用以下命令停止容器:

docker container stop nginx-test
Run Code Online (Sandbox Code Playgroud)

然后对/home目录中的nginx.conf文件进行更改,并希望使用以下命令启动具有更新配置的容器:

docker container start nginx-test
Run Code Online (Sandbox Code Playgroud)

但是这个命令失败给了我一个非常令人困惑的消息:

来自守护进程的错误响应:OCI 运行时创建失败:container_linux.go:370: 启动容器进程导致:process_linux.go:459: 容器初始化导致:rootfs_linux.go:59: 挂载“/run/desktop/mnt/host/wsl/ docker-desktop-bind-mounts/Ubuntu-20.04/c0d0caa87ff063ee46265048f5b1ee489a8945669d39c6f6110cd578b8cda1ed”到 rootfs 位于“/var/lib/docker/overlay2/4e6b279945acb06200b3677272774f 4b5fbb6a619214decbca8c594dbbe3b8ec/merged/etc/nginx/nginx.conf”导致:没有这样的文件或目录:未知

让它重新运行的唯一方法是删除容器并再次使用第一个命令。知道如何让它发挥作用。如果我可以在更改配置后重新启动容器,直到找出所需的正确反向代理设置,那就更容易了。

谢谢

nginx docker windows-subsystem-for-linux nginx-config wsl-2

6
推荐指数
1
解决办法
1万
查看次数

ASP.NET会话可以比Application更长寿

这可能是一个愚蠢/蹩脚的问题,特别是在使用ASP.NET :)这么长时间之后,但我需要确定.

会话(即ASP.NET会话)是否可能比应用程序(应用程序实例/应用程序域/应用程序变量)更长?

换句话说,如果在Global.asax中调用Application_End,它是否表示不再有活动会话?任何新请求都会导致Application_Start后跟一个新的Session_Start?

注意,会话可能不总是InProc,会话可能在状态服务器或SQL服务器中.

asp.net session-variables session-state application-variables

5
推荐指数
1
解决办法
291
查看次数