我如何在我的 docker-compose 设置中运行 pg_dump

我有以下 docker-compose.yml 服务:

how-i-run-pg_dump-in-my-docker-compose-setup.yml
services:
  postgres:
    image: postgres
    restart: unless-stopped
    volumes:
      - ./pg_data:/var/lib/postgresql/data
    environment:
      - POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
      - POSTGRES_DB=${POSTGRES_DB}
      - POSTGRES_USER=${POSTGRES_USER}

使用以下 .env

postgres_env.sh
POSTGRES_DB=headscale
POSTGRES_USER=headscale
POSTGRES_PASSWORD=vah2phuen3shesahc6Jeenaechecee

在该设置下,我像这样运行 pg_dump

run_pg_dump.sh
source .env && docker-compose exec postgres pg_dump -U${POSTGRES_USER} > pgdump-$(date +%F_%H-%M-%S).sql

Check out similar posts by category: Container, Databases, Docker