На виртуально машине успешно запущен контейнер.
Dockerfile:
FROM node:latest
WORKDIR /usr/src/app
ARG NODE_ENVn
ENV NODE_ENV $NODE_ENV
COPY package*.json /usr/src/app/
RUN npm install
COPY . /usr/src/app
ENV PORT 5000
EXPOSE $PORT
CMD [ "npm", "start" ]
Запуск:
sudo docker run -d -p 27073:5000 $CI_REGISTRY_IMAGE/$CI_COMMIT_BRANCH:latest
Проверяем:
sudo docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS
****************** registry.gitlab.com/*******:latest "docker-entrypoint.s…" 9 hours ago Up 9 hours 0.0.0.0:27073->5000/tcp, :::27073->5000/tcp
Как я понимаю, теперь на виртуально машине есть контейнер, который вне Доккера должен быть доступен по порту 27073.
Всё ли я правильно сделал?
Как отдавать контейнер наружу, чтобы он был доступен по домену mysite.com?
UPD 1:
Виртуальная машина - Google Computed Engine.
Есть публичный IP.
UPD 2:
Направил домен на IP сервера, получаю ошибку.
504 Gateway Time-out
The server didn't respond in time.
UPD 3:
Я указал порт 27073 только для того, чтобы у каждого контейнера был свой порт.
Т.к. хочу разные контейнеры отдавать на разные домены.
Возможно, что-то делаю не так :(
UPD 4:
curl http://localhost:27073
Возвращает мой html