Параметризация docker exe c psql - c команд - PullRequest
1 голос
/ 24 марта 2020

У меня есть этот скрипт с некоторыми командами, такими как:

sudo docker exec $container psql -U postgres -c "CREATE DATABASE $gisdb ;"

Параметр $container не является проблемой, но я не могу получить правильное значение, считанное с параметром $gisdb в команде CREATE DATABASE. Можно ли каким-либо другим способом или мне нужно изменить дизайн этой команды или использовать жестко закодированные значения?

1 Ответ

0 голосов
/ 24 марта 2020

Имя БД

Согласно PostgreSQL Документация , для создания базы данных требуется имя базы данных

CREATE DATABASE _ имя _

Итак, $gisdb в вашем коде - это имя созданной базы данных. Вы можете жестко закодировать это имя, но вы должны точно знать - который назовет вас жестким кодом.

Поскольку, как правило, другие службы зависят от имени БД. Итак, проверьте руководство вашего кода.

избавьтесь от sudo

Вы можете опустить sudo перед командой docker. Просто добавьте текущего пользователя в группу docker:

usermod -aG docker $USER

И после входа в систему вы сможете запустить docker без sudo

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...