Добрый день, подскажите пожалуйста, у меня есть bash скрипт в файле dump.sh
./dump/dump.sh
#!/bin/bash
export PATH=$PATH:/usr/local/bin
DB_USER="raptor"
DB_PASS="lama22"
DB_NAME="jalur_db"
DATE=$(date +"%Y-%m-%d_%H-%M-%S")
OUTPUT_FILE="$DATE-$DB_NAME.sql"
pg_dump -E UTF-8 -U $DB_USER -d $DB_NAME -h db --data-only -f /var/www/dump/$OUTPUT_FILE
if [ $? -eq 0 ]; then
echo "Дамп базы данных успешно создан: $OUTPUT_FILE"
else
echo "Ошибка при создании дампа базы данных"
fi
Есть контейнер с постгресом:
# ./docker/db.Dockerfile
FROM postgres:13.13-alpine3.19
WORKDIR /var/lib/postgresql/data
CMD ["/bin/sh", "-c", "/var/www/dump/dump.sh"]
И имеется docker-compose файл:
# ./docker-compose.yml
version: "3.8"
services:
server:
ports:
- 80:80
restart: always
build:
context: docker
dockerfile: server.Dockerfile
volumes:
- ./configuration/nginx.conf:/etc/nginx/conf.d/default.conf:ro
- ./src:/var/www/src
# TODO: Сделать автоматическое резервное копирование БД в конце каждого дня по UTC 0+
db:
ports:
- 5432:5432
restart: always
build:
context: docker
dockerfile: db.Dockerfile
env_file:
- configuration/db.env
volumes:
- .:/docker-entrypoint-initdb.d
- ./dump:/var/www/dump
- dbdata:/var/lib/postgresql/data
app:
restart: always
build:
context: docker
dockerfile: app.Dockerfile
env_file:
- configuration/xdebug.env
volumes:
- ./src:/var/www/src
- ./configuration/php.ini:/usr/local/etc/php/php.ini:ro
composer:
build:
context: docker
dockerfile: composer.Dockerfile
volumes:
- ./src:/var/www/src
view:
build:
context: docker
dockerfile: view.Dockerfile
volumes:
- ./src:/var/www/src
artisan:
build:
context: docker
dockerfile: app.Dockerfile
volumes:
- ./src:/var/www/src
entrypoint: ["php", "/var/www/src/artisan"]
volumes:
dbdata:
driver: local
Пытаюсь сделать резервную копию базы данных bash скриптом. Но столкнулся с проблемой соединния с постгресом.
Ошибка:
pg_dump: error: connection to database "jalur_db" failed: could not connect to server: Connection refused
Is the server running on host "db" (172.19.0.2) and accepting
TCP/IP connections on port 5432?
В строку скрипта ставил localhost, 127.0.0.1, имя сервиса (db) из docker-compose.yml
Не пойму какой тут должен быть хост? ведь явно на него ругается.