Учитывая следующий Докер-compose.test.yml файл:Использование Postgres изображения в тесте
version: '2'
services:
sut:
build: .
command: nosetests
environment:
- DJANGO_SETTINGS_MODULE=test.settings
links:
- db
db:
image: postgres
expose:
- 5432
Построение SUT контейнер
docker-compose -f docker-compose.test.yml build sut
Запуск контейнера:
[email protected]:~/github/djlobnek$ docker-compose -f docker-compose.test.yml run sut /bin/bash
[email protected]:/djlobnek# psql -h localhost -U postgres
psql: could not connect to server: Connection refused
Is the server running on host "localhost" (::1) and accepting
TCP/IP connections on port 5432?
**could not connect to server: Connection refused**
Is the server running on host "localhost" (127.0.0.1) and accepting
TCP/IP connections on port 5432?
Я подключаюсь непосредственно к слою sut используя {docker-compose -f docker-compose.test.yml run sut/bin/bash}. Я установил postgresql-client в файл docker. Запуск {psql -h localhost -U postgres} не увенчался успехом – tschm
Действительно, узнал проблему localhost. Я действительно могу подключиться к контейнеру, и однажды я могу использовать psql для запуска командной строки postgres, например. thomas @ linuxclientlobnek01: ~/github/djlobnek $ docker-compose -p test -f docker-compose.test.yml run sut/bin/bash root @ 245ad3d10a9b:/djlobnek # psql -h db -U postgres ЭТО РАБОТАЕТ, однако ... – tschm
Конечно, дело в том, чтобы автоматизировать это, и здесь я все еще сталкиваюсь с проблемами. Поэтому обратите внимание, насколько похожа моя команда: docker-compose -p test -f docker-compose.test.yml run sut. Здесь тесты терпят неудачу с тем же вышеупомянутым отказом подключения – tschm