Я создал файл компоновки Docker для запуска базы данных и микросервиса nodejs в своих собственных контейнерах.
База данных перестает работать, если я не укажу порты EXPOSE, хотя яуказал их в файле композиции.Нужно ли указывать порты в обоих местах?
база данных / Dockerfile
FROM mysql
ENV MYSQL_DATABASE=test
ENV MYSQL_ROOT_PASSWORD=password
EXPOSE 6603:3306
COPY ./schema.sql /docker-entrypoint-initdb.d/
docker-compose.yml
version: '3'
services:
database:
build:
./database
ports:
- "6603:3306"
image: "test-mysql"
container_name: "test-mysql"
web:
build:
./service
ports:
- "8080:8080"
depends_on:
- database
image: "test-nodejs"
container_name: "test-nodejs"
restart: on-failure
Нужно ли указывать порты 6603:3306
в обоих База данных / Dockerfile и docker-compose.yml файл?