[GH-ISSUE #308] Docker 容器内的多进程建议使用 s6-overlay 管理 #167

Closed
opened 2026-02-26 12:07:30 +03:00 by kerem · 7 comments
Owner

Originally created by @jearton on GitHub (Feb 19, 2024).
Original GitHub issue: https://github.com/0xJacky/nginx-ui/issues/308

现在容器内的1号进程是 start.sh,有点不规范,在多进程情况下,1号进程最好具有进程管理能力,这样比较规范。

当容器内存在多个应用程序要运行时,需要有一个进程管理工具,目前比较主流的解决方案是使用 s6-overlay 或 Supervisor 来管理多进程。或者基于 Linuxserver 基础镜像来制作自己的镜像。

https://github.com/just-containers/s6-overlay

s6-overlay 的最佳实践,可以参考 Linuxserver: https://www.linuxserver.io/

Originally created by @jearton on GitHub (Feb 19, 2024). Original GitHub issue: https://github.com/0xJacky/nginx-ui/issues/308 现在容器内的1号进程是 start.sh,有点不规范,在多进程情况下,1号进程最好具有进程管理能力,这样比较规范。 当容器内存在多个应用程序要运行时,需要有一个进程管理工具,目前比较主流的解决方案是使用 s6-overlay 或 Supervisor 来管理多进程。或者基于 Linuxserver 基础镜像来制作自己的镜像。 [https://github.com/just-containers/s6-overlay](https://github.com/just-containers/s6-overlay) s6-overlay 的最佳实践,可以参考 Linuxserver: [https://www.linuxserver.io/](https://www.linuxserver.io/)
kerem 2026-02-26 12:07:30 +03:00
Author
Owner

@jearton commented on GitHub (Feb 20, 2024):

国外有一个项目(nginx-proxy-manager)和你这个项目在目标定位上很相似,但在实现路径上,我觉得你的更优秀,上限更高。但它有一些东西我觉得可以借鉴,比如对 docker 镜像的封装,默认站点,操作记录,傻瓜式的SSL配置,IP访问控制,静态资源缓存。我给出一些我觉得不错的交互。

image
image
image
image
image

<!-- gh-comment-id:1953606371 --> @jearton commented on GitHub (Feb 20, 2024): 国外有一个项目(nginx-proxy-manager)和你这个项目在目标定位上很相似,但在实现路径上,我觉得你的更优秀,上限更高。但它有一些东西我觉得可以借鉴,比如对 docker 镜像的封装,默认站点,操作记录,傻瓜式的SSL配置,IP访问控制,静态资源缓存。我给出一些我觉得不错的交互。 ![image](https://github.com/0xJacky/nginx-ui/assets/10370433/0aaf82d1-ecb6-4e6f-afc6-ccf45675981c) ![image](https://github.com/0xJacky/nginx-ui/assets/10370433/efd81389-9a5e-42c0-945c-ffe81f3d7c82) ![image](https://github.com/0xJacky/nginx-ui/assets/10370433/4445ee38-5a3a-4199-8dc8-a4b1feff0b03) ![image](https://github.com/0xJacky/nginx-ui/assets/10370433/868b4e6c-21ee-4363-bdbc-8f925ddfa644) ![image](https://github.com/0xJacky/nginx-ui/assets/10370433/992d9359-f0f3-4a06-a86f-4a65d112c917)
Author
Owner

@0xJacky commented on GitHub (Feb 20, 2024):

docker 方式的安装并不是推荐的首选项,所以 docker 镜像还是比较原始的

<!-- gh-comment-id:1953609508 --> @0xJacky commented on GitHub (Feb 20, 2024): docker 方式的安装并不是推荐的首选项,所以 docker 镜像还是比较原始的
Author
Owner

@0xJacky commented on GitHub (Feb 20, 2024):

nmp 是用了数据库的,配置文件后生成的,而我这个是直接解析的文件,所以有些功能做不了,也担心做了之后侵入性太强,影响了原来的配置

<!-- gh-comment-id:1953612439 --> @0xJacky commented on GitHub (Feb 20, 2024): nmp 是用了数据库的,配置文件后生成的,而我这个是直接解析的文件,所以有些功能做不了,也担心做了之后侵入性太强,影响了原来的配置
Author
Owner

@0xJacky commented on GitHub (Feb 20, 2024):

设计宗旨就是只提供尽可能通用的功能,尽可能不修改除了 sites-* 和 stream-* 文件夹之外的配置文件,这样在提供运维便利的同时,也不会影响大佬的发挥

<!-- gh-comment-id:1953618715 --> @0xJacky commented on GitHub (Feb 20, 2024): 设计宗旨就是只提供尽可能通用的功能,尽可能不修改除了 sites-* 和 stream-* 文件夹之外的配置文件,这样在提供运维便利的同时,也不会影响大佬的发挥
Author
Owner

@0xJacky commented on GitHub (Feb 20, 2024):

所以我都是尽量只提供模板,以供参考,而没有直接像 nmp 那样做到完全傻瓜化的配置

<!-- gh-comment-id:1953619868 --> @0xJacky commented on GitHub (Feb 20, 2024): 所以我都是尽量只提供模板,以供参考,而没有直接像 nmp 那样做到完全傻瓜化的配置
Author
Owner

@jearton commented on GitHub (Feb 20, 2024):

所以我都是尽量只提供模板,以供参考,而没有直接像 nmp 那样做到完全傻瓜化的配置

期待开一个模板管理页,既可以看到官方的模板,也可以添加自己的模板。用熟悉了之后,大概率都是使用自己定制的聚合模板。

<!-- gh-comment-id:1953650397 --> @jearton commented on GitHub (Feb 20, 2024): > 所以我都是尽量只提供模板,以供参考,而没有直接像 nmp 那样做到完全傻瓜化的配置 期待开一个模板管理页,既可以看到官方的模板,也可以添加自己的模板。用熟悉了之后,大概率都是使用自己定制的聚合模板。
Author
Owner

@0xJacky commented on GitHub (Feb 20, 2024):

是这个意思

<!-- gh-comment-id:1953700077 --> @0xJacky commented on GitHub (Feb 20, 2024): 是这个意思
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/nginx-ui#167
No description provided.