我如何在 Docker 容器中执行 redbird?
How do i execute redbird in a Docker container?
所以,这是我在互联网上找不到任何答案的第一个问题。
所以,基本上我有一个按预期工作的 redbird 应用程序,我决定将它放在 Docker 容器中(不想 运行 屏幕或 tmux 等)。
所以我创建了一个 Docker 文件如下:
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 的帮助。
您不需要 docker-compose 来执行 docker 容器。您在 dockerhub 也有红鸟的图片,例如 https://hub.docker.com/r/myuserindocker/redbird-reverseproxy.
docker run --rm -p 80:80 -p 443:443 myuserindocker/redbird-reverseproxy
所以,这是我在互联网上找不到任何答案的第一个问题。
所以,基本上我有一个按预期工作的 redbird 应用程序,我决定将它放在 Docker 容器中(不想 运行 屏幕或 tmux 等)。
所以我创建了一个 Docker 文件如下:
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 的帮助。
您不需要 docker-compose 来执行 docker 容器。您在 dockerhub 也有红鸟的图片,例如 https://hub.docker.com/r/myuserindocker/redbird-reverseproxy.
docker run --rm -p 80:80 -p 443:443 myuserindocker/redbird-reverseproxy