Экранирование символов в переменных Docker #80
Labels
No labels
community/discord
community/monitoring
community/site
community/telegram
docs
oracle
server/lobby
server/proxy
server/survival
type/bug
type/feature
type/suggestion
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
bebrashield/task-tracker#80
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Определить список символов, которые нужно экранировать при указывании строки в переменную среды контейнера Docker флагом
--env FOO=bar. Сделать так, чтобы эти символы совпадали для каждого плагина с подключением к БД.Подсказка: в файлах конфигурации плагинов в полях для ввода пароля БД используются разные типы кавычек, что может менять разрешённые в пароле символы.
Что удалось узнать
Символы, которые нужно экранировать зависят от среды выполнения команды
docker run(shell, команда запуска в панели, ...), кавычек в файле с паролем и синтаксисом командыsedв Dockerfile.Список последовательностей символов, которые нужно экранировать символом
\:Указания
Общие:
mysql_password: '_MYSQL_PASSWORD_';При запуске в оболочке bash:
docker runоборачивать в одинарные кавычки, например:... --env 'MY_ENV_VAR=my_val' ...;'"'"'):--env 'MY_ENV_VAR=my_'"'"'val'"'"''. [Подробнее].При запуске в MCSManager:
docker runНЕ оборачивать в одинарные кавычки, например:... --env MY_ENV_VAR=my_val ....Пример
--env MY_ENV=2ex&k]S"/X)RQ\41d[T=7s',/Z=^a\ERj- Исходная переменная--env 'MY_ENV=2ex\&k]S"\/X)RQ\\41d[T=7s'"'"',\/Z=^a\\ERj'- Экранированная переменная для bash:--env 'MY_ENV=2ex\&k]S"\/X)RQ\\41d[T=7s',\/Z=^a\\ERj'- Экранированная переменная для MCSManager--env 'MY_ENV=2ex\&k]S\"\/X)RQ\\41d[T=7s',\/Z=^a\\ERj'- Экранированная переменная для MCSManager и плагина LibreLoginИсключения
".Экранирование символов пароля БДto Экранирование символов в переменных Docker