У меня возникла проблема при попытке использовать секреты докера на удаленном хосте, который я создал с помощью docker-machine.
Ниже мой докер-compose.yml:
version: "3.5"
services:
mysql:
image: mysql:5.7
container_name: mysql
ports:
- "3306:3306"
environment:
MYSQL_ROOT_PASSWORD_FILE: /run/secrets/db_root_password
secrets:
- db_root_password
secrets:
db_root_password:
file: ./db_root_password.txt
Это хорошо работает локально, я могу запустить docker-compose и получить доступ к контейнеру mysql.
docker-compose up
Хорошо применяется пароль root.
Я сейчас пытаюсь запустить контейнер на удаленном хосте, который я создал, используя docker-machine.
Сначала я создал машину с помощью docker-machine create (в данном случае, в exoscale cloud)
docker-machine create --driver exoscale ... MyMachine
Затем я попытался развернуть хост, используя:
eval $(docker-machine env MyMachine)
docker-compose up
Однако, когда я пытаюсь запустить на удаленном хосте, я получил следующую ошибку:
ERROR: for mysql Cannot create container for service mysql: invalid mount config for type "bind": bind source path does not exist: /Users/user/path/to/db_root_password.txt
Так что он все еще пытается загрузить секрет с путем локального файла на моем локальном компьютере. Как я могу использовать этот секрет на удаленном хосте?
Заранее спасибо за помощь