【发布时间】:2019-10-16 14:22:46
【问题描述】:
所以,这是我在互联网上没有找到任何答案的第一个问题。
所以,基本上我有一个按预期工作的 redbird 应用程序,我决定将它放在 Docker 容器中(不想运行 screen 或 tmux 等)。
所以我创建了一个 Dockerfile 如下:
FROM node:alpine
WORKDIR /var/WebService/apps/redbird
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 80 443
CMD ["node", "app"]
和一个 docker-compose.yml 如下:
version: "3"
services:
redbird:
container_name: redbird
build: .
command: npm start
ports:
- "80"
- "443"
environment:
NODE_ENV: PRODUCTION
它不起作用。
我的想法是:
- Docker 无法访问端口 80 和 443。(是的,我以 root 身份运行,我知道不建议这样做)。
- Docker 没有将容器内的端口映射到我的外部 LAN。
而且,为什么人们不谈论红鸟?我找到了 0 条关于 redbird 的帮助。
【问题讨论】:
-
在什么情况下不起作用?
ports:的形式要求 Docker 选择主机端口;它避免了一些潜在的冲突,但更难使用。 -
请求无效。我访问了 domain.com,但它无法连接到服务器。
标签: node.js docker proxy reverse redbird