Ошибка формата интерполяции в MYSQL_PASSWORD в службе "db" docker -compose - PullRequest
1 голос
/ 18 января 2020

Когда я пытаюсь запустить свои контейнеры с docker-compose up, я получаю следующую ошибку:

ERROR: Invalid interpolation format for "environment" option in service "db": "MYSQL_PASSWORD=..."

Указанный пароль содержит специальные символы (!, $, @, &, #). Я полагаю, что именно они являются причиной проблемы.

Есть ли какой-нибудь способ предоставить такой пароль в docker-compose.yml? Как я могу передать его в сервис в правильном формате?

Ответы [ 2 ]

0 голосов
/ 19 января 2020

Лучший и безопасный способ - использовать docker секретный с вашим паролем. Затем вставьте compose MYSQL_PASSWORD_FILE = / run / secrets / your_secret_name

0 голосов
/ 18 января 2020

Проблема в символе $ в переменной окружения MYSQL_PASSWORD. Вы должны избежать этого, добавив $ перед символом $: $$. Например, если ваш пароль !$@&#, вы должны написать:

environment:
  - MYSQL_PASSWORD=!$$@&#
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...