Cypress docker контейнер не может подключиться к моему Angular localhost с помощью dockerfile - PullRequest
0 голосов
/ 17 февраля 2020

Так что в настоящее время я использую MEAN Stack (но MySQL вместо MongoDB). И я использую Cypress для тестирования e2e. В настоящее время я докернизирую свое приложение и столкнулся со следующей проблемой:

Сначала я развернул angular и контейнер узла. Затем, после создания веб-приложения angular, я запускаю кипарисовый контейнер. Проблема в том, что localhost моего кипарисового контейнера не может подключиться к localhost angular. Что не является проблемой с Node и Angular подключением.

, поэтому я сталкиваюсь со следующей ошибкой

Cypress could not verify that this server is running:

  > http://localhost:4200

We are verifying this server because it has been configured as your `baseUrl`.

Cypress automatically waits until your server is accessible before running tests.

We will try connecting to it 3 more times...
We will try connecting to it 2 more times...
We will try connecting to it 1 more time...

Cypress failed to verify that your server is running.

Я использую отдельные файлы Docker, а не Docker -compose в качестве здания Время файла angular довольно большое, поэтому я не могу использовать псевдоним docker -compose (поскольку angular docker все еще строится, когда кипарис запускает команду)

Есть ли способ решить эту проблему?

Для получения дополнительной информации мои Dockerfile приведены ниже: Dockerfile- Angular

FROM node:10.16.3

# set working directory
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app

# add `/app/node_modules/.bin` to $PATH
ENV PATH /usr/src/app/node_modules/.bin:$PATH

# install and cache app dependencies
COPY package.json /usr/src/app/package.json
RUN npm install \
    && npm install -g @angular/cli@6.2.9

# add app
COPY . /usr/src/app

EXPOSE 4200
# start app
CMD ng serve --host 0.0.0.0

Node API Dockerfile

FROM node:10.16.3

WORKDIR /usr/src/app/API

ENV PATH /usr/src/app/API/node_modules/.bin:$PATH

COPY package.json /usr/src/app/API/package.json
RUN npm install
COPY . /usr/src/app/API

EXPOSE 4711
CMD ["node","server"]

Cypress DockerFile

FROM cypress/base:10.11.0

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

# add `/app/node_modules/.bin` to $PATH
ENV PATH /usr/src/app/node_modules/.bin:$PATH

# install dependencies
COPY . /usr/src/app

RUN npm install --save-dev cypress
RUN $(npm bin)/cypress verify
RUN  npm run cypress:run

Кроме того, эта настройка предназначена для разработки, а не для производства.


Обновление Я не использую файл композиции. Я запускаю контейнер docker индивидуально.

Angular docker run -v ${PWD}:/usr/src/app -p 4200:4200 --name angular -it angular

Узел docker run -v ${PWD}:/usr/src/app/API -p 4711:4711 --name api -it api

Кипарис docker run -v ${PWD}:/usr/src/app --name cypress -it cypress

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