Давайте предположим, что я запускаю следующую команду внутри скрипта:
#!/usr/bin/env bash
docker run --name mydb --rm -e POSTGRES_PASSWORD=kgalli -e POSTGRES_USER=kgalli -p "9999:5432" -v $PWD/db:/opt -d postgres
Когда я запускаю следующую команду для создания базы данных, она отлично работает.
docker exec -e PGPASSWORD=kgalli mydb psql -U kgalli -d template1 -c "CREATE DATABASE kgalli_test WITH OWNER kgalli ENCODING 'UTF8' LC_COLLATE = 'en_US.utf8' LC_CTYPE = 'en_US.utf8';"
Однако, когда ядобавьте эту строку в приведенный выше скрипт, чтобы скрипт не только запускал сервер postgres, но и создавал базу данных, в которой он вышел из строя.
Я не совсем понимаю, почему я получаю следующую ошибку:
psql: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
Я знаю, что могу при помощи команды docker postgres image создать базу данных при запуске.Но на самом деле это не то, чего я хочу достичь.Я просто использую это в качестве примера, чтобы понять проблему.