gpt4 book ai didi

node.js - 如何在 Docker 内的 80 端口上运行 node.js

转载 作者:IT老高 更新时间:2023-10-28 21:39:17 24 4
gpt4 key购买 nike

假设我有 this Dockerfile .

在端口 80 上以非特权用户身份运行它的最佳方式是什么? (前面没有添加网络服务器)?

我尝试设置:How do I run Node.js on port 80?但我并不走运,我想我并不深入了解它是如何工作的。

你认为有一个优雅的解决方案来解决这个问题吗?我很怀疑,但充满希望:)

最佳答案

据此网站https://wiki.apache.org/httpd/NonRootPortBinding “setcap”设置在内核级别使用端口 80 的权限。容器在主机内核的命名空间内运行。因此,您的教程仅适用于虚拟机和专用服务器。在主机内核的特权级别上运行 docker 容器可能会更成功:

$ docker run --privileged=true ...

否则,您将不得不避免使用特权端口 (< 1024)。 “Docker Way”通常是不使用特权容器,只依赖端口映射。

根据这张票:https://github.com/docker/docker/issues/5650 setcap 通常应该与 docker 容器一起使用,但如果您使用 AUFS 文件系统驱动程序,它将失败。这张票是 2014 年的,所以这可能适用于最新的 AUFS 实现。

关于node.js - 如何在 Docker 内的 80 端口上运行 node.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31322442/

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