каждому. Некоторое время я бился об это головой, и, возможно, кто-то еще лучше понимает, в чем моя проблема. У меня есть приложение response и lb4, и я хочу разместить его в нашем кластере kubernetes. Я создаю проект реакции и помещаю его в папку сборки в моем проекте lb4 и обслуживаю эти файлы, используя бэкэнд lb4 также для API. Я помещаю все в контейнер docker, и когда я запускаю контейнер локально, он работает так, как я ожидал. Когда я помещаю контейнер в кубернеты, я могу использовать API из проекта l oop back, но получаю 404 при попытке попасть в GUI.
В моем проекте LB4 у меня есть это для обслуживания файлов stati c:
constructor(options: ApplicationConfig = {}) {
super(options);
// Set up the custom sequence
this.sequence(MySequence);
// Set up default home page
this.static('/',path.join(__dirname, '../build'));
// Customize @loopback/rest-explorer configuration here
this.bind(RestExplorerBindings.CONFIG).to({
path: '/explorer',
});
this.component(RestExplorerComponent);
this.projectRoot = __dirname;
и вот мой docker файл, который я использую:
RUN mkdir -p /src/app
COPY . /src/app
WORKDIR src/app
ARG env_name
ENV NODE_ENV=env_name
ENV PUBLIC_PATH "/"
RUN npm install
RUN npm run build:client
COPY /src/client/build /src/server/
EXPOSE 3001
CMD ["npm", "run", "start"]
Кто-нибудь заметил что-нибудь, что может быть проблемой? Был бы очень признателен. Спасибо.
Изменить: Думаю, проблема обнаружена. Похоже, что копирование файлов stati c на этапе копирования в моем dockerfile работает не совсем так, как я предполагал, поэтому я думаю, что это смотрит на пустую папку в кластере kubernetes. Теперь просто чтобы понять, почему это не работает.