У меня .Dockerfile
(из источника ):
# build stage
FROM node:9.11.1-alpine as build-stage
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
RUN npm run build
# production stage
FROM nginx:1.13.12-alpine as production-stage
COPY --from=build-stage /app/dist /usr/share/nginx/html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]
Где в конце приложение выставлено на порт 80 . Затем у меня есть другой другой .Dockerfile
, и для сборки обоих я использую следующий docker-compose.yml
файл:
version: "3"
services:
service-name-one:
image: dockerImageFromAbove
ports:
- "8080:80"
service-name-two:
image: someOtherImage
ports:
- "3000:3001"
И это пример, который действительно работает. Но мне нужно было бы изменить порт с nginx
образа докера, и вместо порта 80 мне понадобится порт 8081. Простое изменение этого в обоих файлах сверху, это не работает, и в своем исследовании я обнаружил, что единственный работающий Например, при подключении к порту 80 из nginx.
Я попытался заменить строку
EXPOSE 8081
с
RUN -P 80:8081
EXPOSE 8081
но похоже, что флаг -P здесь не поддерживается. Итак, как я могу сделать такое отображение, прежде чем выставить nginx на порт 80?
Я нашел этот пост , но я не могу понять, как использовать ответы в моих файлах Docker.
Я также нашел этот пост (часть для переменных среды), но также не уверен, как интегрировать его с моим файлом docker-compose.