Как выполнить Redbird в контейнере Docker? - PullRequest
0 голосов
/ 16 октября 2019

Итак, это первая проблема, на которую я не нашел ответа в интернете.

Итак, в основном у меня есть приложение 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

и это не работает.

Мои мысли таковы:

  • Докер не имеет доступа к портам 80 и 443. (Да, я работаю какroot, и я знаю, что это не рекомендуется).
  • Docker не сопоставляет порты внутри контейнера с моей внешней локальной сетью.

И почему люди не говорят о redbird? я нашел 0 справок о Redbird.

1 Ответ

0 голосов
/ 16 октября 2019

Вам не нужно docker-compose для выполнения контейнера Docker. У вас также есть изображения redbird на Dockerhub, такие как https://hub.docker.com/r/myuserindocker/redbird-reverseproxy.

docker run --rm -p 80:80 -p 443:443 myuserindocker/redbird-reverseproxy
...