Ошибка SSL: decryption failed or bad record mac при использовании rq worker в postgres docker image
Я пытаюсь запустить некоторые тесты в образе docker с установленным вручную postgres и некоторым другим программным обеспечением. Я поместил все в один образ, потому что я пытаюсь запустить свои тесты в Teamcity, а Teamcity принимает только один образ. Ниже приведена часть, связанная с postgres, в моем Dockerfile:
# install postgresql
RUN echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list && \
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add - && \
apt-get update && \
apt-get install -y postgresql-12 postgresql-contrib-12
# set up postgresql
USER postgres
RUN /etc/init.d/postgresql start && \
psql --command "CREATE USER test_user WITH PASSWORD 'test';" && \
psql --command "CREATE DATABASE test_db WITH OWNER = test_user;" && \
psql --command "ALTER USER test_user CREATEDB;"
Когда я пытаюсь запустить тесты внутри контейнера, я получаю следующую ошибку (я удалил некоторую приватную информацию):
Я погуглил эту проблему, похоже, что причина в том, что у меня есть 2 работника для доступа к postgres, первый получает доступ успешно, второй повторно использует соединение первого работника и вызывает эту проблему. Мне нужно закрыть соединение в задании rq worker. Правильно ли я понимаю? Что я не понимаю, так это то, что этот тест может успешно выполняться в моей локальной среде вне контейнера docker. На сайте несколько rq worker также могут получить доступ к postgres без проблем. Все они работают на одной и той же кодовой базе, и я не закрываю соединение в задании rq worker. Хотелось бы узнать, не связано ли это с какими-то настройками при установке postgres в docker. Спасибо за помощь!