sql >> Databáze >  >> RDS >> PostgreSQL

Chyba:Import databáze Postgres v kontejneru dockeru

Nastavte připojení k výpisu databáze

Budete muset namontovat skládku do kontejneru, abyste k ní měli přístup. Něco takového v docker-compose.yml:

db:
  volumes:
    - './db_dump:/db_dump'

Vytvořte místní adresář s názvem db_dump a umístěte db_dump.gz soubor tam.

Spusťte kontejner databáze

Použijte POSTGRES_DB v prostředí (jak jste uvedl ve své otázce), aby se databáze automaticky vytvořila. Spusťte db sám o sobě, bez serveru rails.

docker-compose up -d db

Importovat data

Počkejte několik sekund, než bude databáze dostupná. Poté importujte svá data.

docker-compose exec db gunzip /db_dump/db_dump.gz
docker-compose exec db psql -U postgres -d dbname -f /db_dump/db_dump.gz
docker-compose exec db rm -f /db_dump/db_dump.gz

Můžete také jednoduše vytvořit skript pro provedení tohoto importu, vložit jej do obrázku a poté jej zavolat pomocí jediného příkazu docker-compose. Nebo můžete nechat skript vstupního bodu, aby zkontroloval, zda je přítomen soubor s výpisem paměti, a pokud ano, rozbalte jej a importujte... cokoli potřebujete.

Spusťte server rails

docker-compose up -d web

Automatizace

Pokud to děláte ručně pro přípravu nového nastavení, máte hotovo. Pokud to potřebujete automatizovat do toolchainu, můžete některé z těchto věcí provést ve skriptu. Jednoduše spusťte kontejnery samostatně, mezitím proveďte import db a použijte sleep k pokrytí případných zpoždění při spuštění.



  1. Zobrazte každou hodnotu pole DISTINCT pouze jednou pomocí smyčky

  2. Jak zobrazit všechny tabulky s více informacemi (datum vytvoření, velikost,...) v databázi MySQL?

  3. Náhodně zkombinujte dvě slova z databáze MySQL

  4. Jak importovat data z .csv na SQL Server pomocí PowerShellu?