Недавно мы подключили нашу систему к Docker. Это связано с несколькими контейнерами: один для приложения, один для mysql и т. Д. Однако теперь я столкнулся с проблемой, о которой я не думал, прежде чем начать :)Как проверить внешние сервисы внутри контейнера Docker?
У нас есть ряд тестов интеграции системного уровня, которые предназначены для тестирования взаимодействия с внешними службами. Выполнение таких действий, как остановка redis, выдача запроса, проверка правильности реакции системы, а затем перезапуск redis и обеспечение правильного повторного подключения. Раньше это было довольно просто:
subprocess.call('service redis stop')
например. Но теперь ... контейнер приложения с нашим кодом python не имеет никакого контроля над внешним сервером, где живет redis. Есть ли у кого-нибудь идеи по наилучшему способу адаптации существующих тестов для правильной работы в новой среде?
Это оказалось правильным решением. В копии нашего контейнера приложений мы установили гнездо док-станции и двоичные файлы, а затем перезаписали команды типа «service stop redis», чтобы больше походить на «docker stop redis». Благодаря! –