我正在尝试使用秘密组成一个堆栈 为了开发,我使用 docker/secrets/FILE_NAME 中的本地文件 我在 Windows 10 中可以正常工作,但我很难让它在 win7 工具箱下工作。 我收到错误:
Cannot create container for service db:
invalid volume specification:
'C:\project\docker\secrets\DB_USERNAME:/run/secrets/db-username:ro'
我试图设置 COMPOSE_CONVERT_WINDOWS_PATH 但不幸的是,这不会改变任何东西。无论 true 或 false,我都会得到相同的输出。 设置绝对路径也没有帮助。
Docker compose 版本 1.16.1 构建 6d1ac219 Docker 版本 17.10.0-ce,构建 f4ffd25
我的docker-compose.yml
version: '3.3'
services:
db:
image: postgres
volumes:
- db-data:/var/lib/postgresql/data
environment:
- POSTGRES_PASSWORD_FILE=/run/secrets/db-password
- POSTGRES_USER_FILE=/run/secrets/db-username
- POSTGRES_DB_FILE=/run/secrets/db-name
secrets:
- db-username
- db-password
- db-name
web:
build:
context: ./docker/machines/django/
args:
buildno: 1
command: python3 manage.py runserver 0.0.0.0:8000
volumes:
- ./Server:/Server
ports:
- "8000:8000"
depends_on:
- db
secrets:
- db-username
- db-password
- db-name
secrets:
db-username:
file: ./docker/secrets/DB_USERNAME
db-password:
file: ./docker/secrets/DB_PASSWORD
db-name:
file: ./docker/secrets/DB_NAME
volumes:
db-data:
driver: "local"
这似乎是一个Windows权限问题? 检查文件权限