Когда я нажимаю https: // , Я хочу иметь доступ к приложению, запущенному на порту 3000 в контейнере в GEC - PullRequest
0 голосов
/ 21 июня 2020

Я написал вот так Dockerfile и поместил sh его в контейнерный реестр на GCP

FROM node:13.12.0-alpine as builder

RUN mkdir -p /usr/src/nuxt-app 
WORKDIR /usr/src/nuxt-app

RUN apk update && apk upgrade
RUN apk add --update --no-cache python make g++
COPY . /usr/src/nuxt-app
RUN rm -rf ./node_modules && npm install
RUN npm run build

EXPOSE 3000

ENV NUXT_HOST=0.0.0.0
ENV NUXT_PORT=3000
ARG API_ENDPOINT
ENV API_ENDPOINT $API_ENDPOINT

CMD [ "npm", "start" ]

введите описание изображения здесь

Я развернул образ docekr на экземпляре gce. Я могу получить доступ к приложению, используя http: //: 3000. Но в конце концов я хочу получить доступ к приложению, используя https://.. Я не знаю, что для этого делать.

1 Ответ

0 голосов
/ 21 июня 2020

Если вам просто нужен простой способ запуска контейнера и отправки ему запросов HTTPS, вы можете развернуть его в Cloud Run вместо GCE. Ваша проблема в том, что вы просто запускаете HTTP-сервер, а для HTTPS вам нужно добавить как минимум сертификат и соответствующее DNS-имя для вашего сервера. Cloud Run - это сервис более высокого уровня абстракции, который сделает это за вас. Очевидно, вы можете сделать это разными способами и с помощью GCE, но это будет более сложным.

Вы можете использовать gcloud для развертывания вашего контейнера, если он у вас уже есть в реестре. Вот пример:

gcloud run deploy --image gcr.io/PROJECT-ID/CONTAINER-ID --platform managed --port 3000

Вы можете получить идентификатор своего проекта, запустив gcloud config get-value project

Вот полное краткое руководство для Cloud Run: https://cloud.google.com/run/docs/quickstarts/build-and-deploy

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...