Предположим, что в настоящее время я использую docker контейнер Container A
, созданный с использованием образа Image X
, запущенного на хост-порту 3031
и Docker Port 3030
DOCKER_COMPOSE.yaml
version: "3"
services:
app:
image: ${IMAGENAME}
container_name: ${PROJECTNAME}_ContainerA
restart: ${RESTART}
build:
context: ${BUILD}
args:
PORT: 3030 --> this goes to dockerfile
ports:
- "3031:3030"
networks:
salesdb_network:
ipv4_address: ${IP}
environment:
- APP_PORT=3030
networks:
some_network:
external: true
ПОЛУЧАЮ ПОРТЫ ИЗ файла env . Выше только для демонстрации.
Я запустил docker-compose --env-file **some_file** -f docker-compose.yaml up
До сих пор работает нормально. Все в порядке, проблем нет.
Теперь я хочу создать еще один контейнер Container B
, используя образ Image X
, работающий на Host Port 3033
и Docker Port 3032
. У меня такая же структура, что и для файла docker_compose.yaml
с измененными портами
Я запустил docker-compose --env-file **some_file_2** -f docker-compose.yaml up
Но я получаю следующую ошибку.
creating ${PROJECTNAME}_ContainerA... error
ERROR: for ${PROJECTNAME}_ContainerA Cannot start service app: Address already in use
ERROR: for app Cannot start service app: Address already in use
ERROR: Encountered errors while bringing up the project.
До того, как я добавил ИМЯ ПРОЕКТА (для которого я следовал это ), во время работы Container B
оно использовалось для переопределения Container A
И порты изменились на 3031/tcp, 0.0.0.0:3033->3032/tcp
.