Docker Среда YAML для spring.datasource.password имеет символы. Как мне обойти это? - PullRequest
0 голосов
/ 23 января 2020

Хорошо, у меня есть файл yaml для развертывания образа весенней загрузки. Итак, я хочу установить мой весенний пароль источника данных в моей среде yaml. Но когда я использую docker-compose up, это показывает ошибку

ERROR: Invalid interpolation format for "environment" option in service "apps": "spring.datasource.password= "my_password!@#$" 

Я считаю, что эта ошибка произошла, потому что в моем пароле источника данных есть символы. Как мне решить это?

Вот мой файл .yml:

version: '3.0'

    services:    
        apps:
                image: student
                ports:
                - 8085:8080
                environment:
                - spring.datasource.url=jdbc:postgresql://192.168.100.3/my_database
                - spring.datasource.username= my_user
                - spring.datasource.password= my_password!@#$

1 Ответ

1 голос
/ 23 января 2020

$ в конце сигнализирует Compose о необходимости подстановки переменных ; без фактического имени переменной среды после него вы получаете ошибку «неверная интерполяция». Чтобы обойти это:

Вы можете использовать $$ (двойной знак доллара), когда вашей конфигурации нужен буквальный знак доллара.

Итак, установите:

- spring.datasource.password=my_password!@#$$

(Повторная проверка: имя пользователя и пароль должны начинаться с пробелов? Возможно, вам придется удалить пробел после знака равенства, в документации environment: здесь пробелы не отображаются и не предлагает, чтобы удалить пробелы из значений.)

...