В настоящее время я работаю над приложением и хочу выполнить автоматическое тестирование Express, прежде чем отправлять код в производство.
У меня есть файл docker-compose, который я могу использовать для запуска моих тестов
version: '8'
services:
express:
build: services/comp/express
ports:
- "3000:3000"
database:
image: mongo:3.4.0
ports:
- "27017:27017"
Однако я хочу иметь возможность запускать их через скрипт bash (мне не нужны два файла, создающих docker).
Я попробовал команду
docker run -d -p 27017:27017 mongo:3.4.0
чтобы запустить мою базу данных и запустить мой экспресс-сервер, я попробовал
docker build -t express_image ./comp/services/express/.
docker run -p 3000:3000 -t express_image
Однако я не могу запустить мои тесты следующим образом. Я получаю сообщение об ошибке «Не удается подключиться к базе данных при первой попытке», поэтому я предполагаю, что я использую неправильный хост для своей базы данных. При использовании файла docker-compose я пытался
const dbHost = 'mongodb://database/test-db';
подключиться к базе данных, которая работает. При попытке запустить с помощью вышеуказанных команд, я попытался
const dbHost = 'mongodb://localhost:27017/';
Какой-нибудь совет, что я делаю неправильно, чтобы раскрутить два контейнера через терминал?