Секреты Docker в docker-compose.yml
У меня возникли проблемы с использованием секретов докера в docker-compose. Вот мой yml:
version: '3.6'
secrets:
aws_bucket_name:
file: ./secrets/aws_bucket_name.txt
services:
my-service-name:
image: my-service-name
secrets:
- aws_bucket_name
build:
context: .
dockerfile: Dockerfile-dev
volumes:
- ./:/my-service-name
ports:
- 3000:3000
- 9229:9229
environment:
AUTH_BASICAUTH_ENABLED: "true"
NODE_ENV: "development"
Итак, если я правильно понимаю, у меня должен быть файл aws_bucket_name.txt в моем проекте в папке секретов, это правда.
Я пытаюсь загрузить данные из этого файла через aws_bucket_name.
Когда я собираю docker-compose, я получаю эту ошибку:
ОШИБКА: для iothubtelemetryadapter_my-service-name_1 Невозможно создать контейнер для службы my-service-name: неверная конфигурация монтирования для типа "bind": неверный путь монтирования: "C:/Users/anton.smatanik/Documents/project_name/secrets/aws_bucket_name.txt'путь монтирования должен быть абсолютным
Вот моя структура проекта:
1 ответ
Насколько я понимаю, вы просто объявляете свой секрет, но не используете его как значение.
Попробуйте ввести свой секрет как значение фактической переменной, которую вы хотите скрыть.
Бывший:
version: '3.3'
services:
my-service:
image: my-image
secrets: secret-db-string
environment:
- db_connection_string=secret-db-string
secrets:
secret-db-string:
file: ./path/to/secret/file