apache - FaxServer 安装在 0.0.0.0:8080 的 docker 中以及如何从 Internet 访问 Unbuntu 14.x
问题描述
我已将FaxServer安装到我的 Ubuntu 服务器上。它使用码头工人。
它按如下方式启动并运行:
CONTAINER ID IMAGE COMMAND
CREATED STATUS PORTS NAMES
597d61ce2785 bludesign/faxserver:latest "/bin/sh -c 'bash -c…" 19
minutes ago Up 5 minutes 0.0.0.0:8080->8080/tcp faxserver_vapor_1
6595fe5908c5 mongo:latest "docker-entrypoint.s…" 19
minutes ago Up 6 minutes 27017/tcp faxserver_mongo_1
我无权将任何公共 IP 号码应用于 DOCKER。我运行 DOCKER 的主服务器可以访问 Internet,因此具有公共 IP。
如何运行 apache 或其他东西以从运行在 0.0.0.0:8080 上的 Internet 访问 FaxServer?mongo 是 FaxServer 的一部分。
非常感谢任何指导。
解决方案
有两种选择:
您可以使用 NGINX 作为反向代理服务器 ( https://github.com/jwilder/nginx-proxy ),并在容器中添加一个名为“virtual-host”的 env-var,如下所示:
docker run -d -p 80808:8080 -e VIRTUAL_HOST=awesomefaxservice.com --name awesomefaxservice bludesign/faxserver
然后配置一个DNS指向机器IP,一旦你完成了任何匹配虚拟主机的请求将被重定向到暴露端口上的容器。
如果您不想安装代理并获取 dns,请选中选项 2。
- 您可以配置系统代理规则以接受来自互联网的传入流量并简单访问 your_static_ip:container_port
推荐阅读
- r - 如果包含任何非英语单词,则删除推文/行
- jsf - 动态创建链接
- angular - Angular 5 Lazy Loading Route Module with Children
- php - mpdf - 打印 php 字符串
- vba - Worksheet_SelectionChange 不适用于 XLSM 工作表
- mysql - 多索引慢查询
- java - 具有 CompletableFutures 且没有自定义 Executor 的代码是否仅使用等于内核数的线程数?
- java - 如何将看起来像数组的字符串转换为实际的对象数组?
- android - 没有 Google Cloud 的 ARCore 云锚(使用第 3 方代替持久对象)?
- reactjs - React - 当不同组件更改状态时更新组件