Конвейер Jenkins не создает том postgresql_data, но запуск docker compose up -d commad вручную создает тома

Я довольно новичок в docker, docker-compose, jenkins и во всей концепции CI-CD. Поэтому, возможно, я упускаю очень простой момент. Мое приложение - это веб-приложение django с postgresql и nginx. Если я запускаю docker compose build и docker compose up -d, запускаются 3 контейнера и создаются тома docker без каких-либо проблем. Теперь я пытаюсь запустить эти 3 контейнера с помощью jenkins. Я клонирую репо моего приложения в jenkins и запускаю docker compose build и docker compose up -d в моем конвейере. Мое приложение работает, статический том создан, но докерный том postgresql_data не создан и пропадает, если я перезагружаю хост-машину

Я думал, что это может быть связано с правами пользователя, но статический том создается той же самой задачей jenkins. Заранее спасибо.

jenkinsfile

pipeline {
  agent {
      node {
          label 'agent-compose'
          }
    }
   environment{
       DOCKERHUB_CREDENTIALS = credentials('DockerHub')
   }
   stages {
      stage('Build') {
          steps {
           sh 'docker compose build'
           echo 'Docker compose build is Completed, these images are created:'
          }
      } 
       stage('Run The Services') {
         steps {
           sh 'docker compose up -d'
          }
       }
     stage('Login To Docker Hub') {
          steps {
              sh 'echo $DOCKERHUB_CREDENTIALS_PSW | docker login -u $DOCKERHUB_CREDENTIALS_USR --password-stdin'
              echo 'Login completed'
          }
      }
      stage('Push To Docker') {
          steps {
              sh 'docker compose push'
              echo 'Push completed'
          }
      }


   }
       post{
           always{
               sh 'docker logout'
           }
       }


}

docker-compose.yml

version: '3.8'
services:
 app:
   image: myrepo/app:latest
   build: .
  # command: gunicorn PrjMovies.wsgi:application --bind 0.0.0.0:8000
   volumes:
     #- .:/website
     - static:/static
   ports:
     - 8000:8000
   env_file:
     - .env
   depends_on:
     - db


 db:
   image: postgres:15.1-alpine
   volumes:
     - ./postgres_data:/var/lib/postgresql/data/
   ports:
     - 5432:5432
   environment:
     - POSTGRES_DB=prjmoviesdb
     - POSTGRES_USER=prjmoviesadm
     - POSTGRES_PASSWORD=MyPassWhatever




 nginx:
   image: myrepo/nginx:latest
   build: ./nginx
   volumes:
     - static:/static
   ports:
     - 80:80
   depends_on:
     - app
volumes:
 static:
 postgres_data:

dockerfile

FROM python:3.8.9-alpine
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONNUNBUFFERED 1
WORKDIR /website

RUN pip install --upgrade pip
#psycopg2 dependencies installation
RUN apk update
RUN apk add postgresql-dev gcc python3-dev musl-dev libc-dev linux-headers

COPY ./requirements.txt .
RUN pip install -r requirements.txt

COPY . .
COPY ./entrypoint.sh /
ENTRYPOINT [ "sh", "/entrypoint.sh" ]

entrypoint.sh

python manage.py collectstatic --no-input
gunicorn PrjMovies.wsgi:application --bind 0.0.0.0:8000
Вернуться на верх