build: ./node
container_name: mgc_telegram_bot
restart: unless-stopped
network_mode: host
environment:
TZ: ${TZ:-Asia/Yekaterinburg}
API_KEY: 123
MYSQL_HOST: 127.0.0.1
MYSQL_USER: mgc
MYSQL_PSWD: mgc
MYSQL_DB: mcg
API_PORT: 7000
ports:
- "7000:7000"
volumes:
- ./application:/home/node/application/src:rw
Он работает с MySQL которая в принципе на сервере находится.
После того как я открыл прослушивание портов — выходит ошибка: node Published ports are discarded when using host network mode
С MySQL работает, а вот внешние запросы не принимает.
С таким конфигом:
version: '3.4'
services:
node:
build: ./node
container_name: mgc_telegram_bot
restart: unless-stopped
environment:
TZ: ${TZ:-Asia/Yekaterinburg}
API_KEY: 123
MYSQL_HOST: 127.0.0.1
MYSQL_USER: mgc
MYSQL_PSWD: mgc
MYSQL_DB: mcg
API_PORT: 7000
networks:
- web
ports:
- "7000:7000"
volumes:
- ./application:/home/node/application/src:rw
networks:
web:
external: true
Внешние запросы получает, но MySQL не видит.
Как это исправить? Чтобы и порты слушал внешние на сервере, и MySQL на сервере видел.
когда ты убрал network_mode: host, то локалхостом у контейнера стал он сам, соответственно mysql там не найти. Тебе надо гуглить docker from container to host
extra_hosts: - "host.docker.internal:host-gateway" ?
ну попробуй запустить, для приложения не забудь указать что база находится тут host.docker.internal
Какая ось?
Обсуждают сегодня