у нас есть приложениеactweb, работающее ранее на порту 3000, для производства мы хотим использовать порт 80. Но когда я запускаю приложение локально с sudo yarn run web
и когда я ввожу пароль, я могу получить доступ к приложению с localhost:80
,Из Dockerfile sudo не работает в альпийских образах.
Dockerfile:
FROM node:9-alpine as builder
# Create a directory where our app will be placed. This might not be necessary
RUN mkdir -p /root
# Change directory so that our commands run inside this new directory
WORKDIR /root
# Get all the code needed to run the app
COPY . /root
WORKDIR /root
# Expose the port the app runs in
RUN npm install --global yarn@1.6.0
RUN chmod a+rwx /usr/local/lib/node_modules/yarn/bin/yarn*
RUN chmod a+rwx /usr/local/bin/yarn*
RUN yarn -v
RUN yarn install
RUN yarn add @material-ui/icons
EXPOSE 80
CMD yarn run web
From node:9-alpine
WORKDIR /root
COPY --from=builder /root .
RUN ls -la
EXPOSE 80
CMD yarn run web
Хост-контейнер и контейнер порта должны быть на порте 80.