У меня есть приложение, которое использует MySQL, Nest.js Angular для БД, Back и Front.Мне удалось заставить Nest связаться с контейнером MySQL nad (я полагаю) Angular с Nest, но когда я пытаюсь получить доступ к веб-интерфейсу из браузера, он говорит, что сайт не может быть достигнут, или что сервер не отвечаетесли я сделаю запрос от Почтальона к бэкэнду.Я уже выставляю и назначаю порты, но это не работает.
Я использую docker-compose up --build
, просматриваю localhost:4200
или отправляю запрос на localhost:3000
, и я получаю из браузера:localhost didn’t send any data. ERR_EMPTY_RESPONSE
в Chrome.
это файл mi docker-compose.yml:
version: '3'
services:
# MySQL
db:
image: mysql:5.7
command: --default-authentication-plugin=mysql_native_password
ports:
- "3306:3306"
restart: always
environment:
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
MYSQL_DATABASE: ${MYSQL_DATABASE}
MYSQL_USER: ${MYSQL_USER}
MYSQL_PASSWORD: ${MYSQL_PASSWORD}
# Nest.js Backend
server:
build: ./backend
expose:
- 3000
ports:
- "3000:3000"
depends_on:
- db
links:
- db
volumes:
- ./backend/src:/srv/app/bk-god/src
# Angular 6 Frontend
client:
build: ./frontend
expose:
- 4200
ports:
- "4200:4200"
volumes:
- ./frontend/src:/srv/app/fr-god/src
- ./frontend/public:/srv/app/fr-god/public
links:
- server
И это мой Dockerfile в каждой папке [единственное отличие состоит в том, что бэкэнд запускает запуск Yarn:dev]:
FROM node:8.15.0-alpine
RUN mkdir -p /srv/app/fr-god
WORKDIR /srv/app/fr-god
COPY package.json /srv/app/fr-god
COPY yarn.lock /srv/app/fr-god
RUN yarn
COPY . /srv/app/fr-god
CMD ["yarn", "start"]
PS: MySQL доступен через консоль и графический интерфейс, указывая на localhost:3306
.
Это вывод docker ps
:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
435bfc1aa66d docker_client "yarn start" About a minute ago Up About a minute 0.0.0.0:4200->4200/tcp docker_client_1
c96a84289d12 docker_server "yarn run start:dev" About a minute ago Up About a minute 0.0.0.0:3000->3000/tcp docker_server_1
069f8d61b770 mysql:5.7 "docker-entrypoint.s…" About a minute ago Up About a minute 0.0.0.0:3306->3306/tcp, 33060/tcp docker_db_1
/ etc / hosts content:
##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting. Do not change this entry.
##
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost
журналы с docker logs docker_client_1
:
yarn run v1.12.3
$ ng serve
** Angular Live Development Server is listening on localhost:4200, open your browser on http://localhost:4200/ **
Date: 2019-02-06T23:57:54.079Z
Hash: c0fd0f6da579440bf752
Time: 20737ms
chunk {main} main.js, main.js.map (main) 85.7 kB [initial] [rendered]
chunk {polyfills} polyfills.js, polyfills.js.map (polyfills) 240 kB [initial] [rendered]
chunk {runtime} runtime.js, runtime.js.map (runtime) 6.22 kB [entry] [rendered]
chunk {styles} styles.js, styles.js.map (styles) 16.7 kB [initial] [rendered]
chunk {vendor} vendor.js, vendor.js.map (vendor) 4.83 MB [initial] [rendered]
ℹ 「wdm」: Compiled successfully.
журналы с docker logs docker_server_1
:
yarn run v1.12.3
$ nodemon
[nodemon] 1.18.9
[nodemon] to restart at any time, enter `rs`
[nodemon] watching: /srv/app/bk-god/src/**/*
[nodemon] starting `ts-node -r tsconfig-paths/register src/main.ts`
[Nest] 38 - 2019-2-6 23:57:33 [NestFactory] Starting Nest application...
[Nest] 38 - 2019-2-6 23:57:33 [InstanceLoader] TypeOrmModule dependencies initialized +201ms
[Nest] 38 - 2019-2-6 23:57:40 [InstanceLoader] AppModule dependencies initialized +2ms
[Nest] 38 - 2019-2-6 23:57:40 [InstanceLoader] PlayerModule dependencies initialized +1ms
[Nest] 38 - 2019-2-6 23:57:40 [InstanceLoader] MatchModule dependencies initialized +0ms
[Nest] 38 - 2019-2-6 23:57:40 [RoutesResolver] PlayerController {/player}: +67ms
[Nest] 38 - 2019-2-6 23:57:40 [RouterExplorer] Mapped {/, GET} route +11ms
[Nest] 38 - 2019-2-6 23:57:40 [RouterExplorer] Mapped {/, POST} route +2ms
[Nest] 38 - 2019-2-6 23:57:40 [RoutesResolver] MatchController {/match}: +1ms
[Nest] 38 - 2019-2-6 23:57:40 [RouterExplorer] Mapped {/, GET} route +1ms
[Nest] 38 - 2019-2-6 23:57:40 [RouterExplorer] Mapped {/, POST} route +8ms
[Nest] 38 - 2019-2-6 23:57:40 [RouterExplorer] Mapped {/detail, GET} route +2ms
[Nest] 38 - 2019-2-6 23:57:40 [NestApplication] Nest application successfully started +8ms