在 docker 台机器上使用 docker 个秘密
Use docker secrets on a docker-machine
我在使用 docker-machine 创建的远程主机上尝试使用 docker 机密时遇到问题。
下面是我的docker-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-组合并访问 mysql 容器。
docker-compose up
root密码已成功申请
我现在正在尝试 运行 我使用 docker-machine 创建的远程主机上的容器。
我首先使用 docker-machine create 创建了机器(在本例中,在 exoscale 云上)
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
所以它仍在尝试使用我本地计算机上的本地文件路径加载机密。我如何在远程主机上使用这个秘密?
在此先感谢您的帮助
好像是游docker-机器找不到./db_root_password.txt
您可以尝试在 docker-机器的相同路径中创建文件 db_root_password.txt
吗?
我在使用 docker-machine 创建的远程主机上尝试使用 docker 机密时遇到问题。
下面是我的docker-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-组合并访问 mysql 容器。
docker-compose up
root密码已成功申请
我现在正在尝试 运行 我使用 docker-machine 创建的远程主机上的容器。
我首先使用 docker-machine create 创建了机器(在本例中,在 exoscale 云上)
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
所以它仍在尝试使用我本地计算机上的本地文件路径加载机密。我如何在远程主机上使用这个秘密?
在此先感谢您的帮助
好像是游docker-机器找不到./db_root_password.txt
您可以尝试在 docker-机器的相同路径中创建文件 db_root_password.txt
吗?