Docker не поддерживает хранение секретов в домашней системе Windows с помощью панели инструментов Docker.
Используя панель инструментов Docker в Windows 10 Home, Docker версии 19.03, мы создали docker-compose.yml и добавили файл секретов в формате JSON, он отлично работает в системе Mac, но не может работать так же в Windows 10 Home.
Ошибка после запуска docker-compose up
:
ERROR: for orthancserver Cannot create container for service orthanc: invalid mount config for type
"bind": invalid mount path: 'C:/Users/ABC/Desktop/Project/orthanc.json' mount path must be absolute
docker-compose.yml:
version: "3.7"
services:
orthanc:
image: jodogne/orthanc-plugins:1.6.1
command: /run/secrets/
container_name: orthancserver
restart: always
ports:
- "4242:4242"
- "8042:8042"
networks:
- mynetwork
volumes:
- /tmp/orthanc-db/:/var/lib/orthanc/db/
secrets:
- orthanc.json
dcserver:
build: ./dc_node_server
depends_on:
- orthanc
container_name: dcserver
restart: always
ports:
- "5001:5001"
networks:
- mynetwork
volumes:
- localdb:/database
volumes:
localdb:
external: true
networks:
mynetwork:
external: true
secrets:
orthanc.json:
file: orthanc.json
файл orthanc.json хранится рядом с docker-compose.yml
1 ответ
Нашел альтернативное решение для дома Windows 10 с набором инструментов docker. как прокомментировал @Schwarz54, совместное использование файлов хорошо работает с томом докера для сервера Dockerized Orthanc.
Добавить общую папку:
- Откройте Oracle VM Manager
- Перейти к настройке виртуальной машины по умолчанию
- Щелкните Общие папки
- Добавить C:\ диск в список
Отредактируйте docker-compose.yml, чтобы передать файл конфигурации в Orthanc через том
version: "3.7"
services:
orthanc:
image: jodogne/orthanc-plugins:1.6.1
command: /run/secrets/
container_name: orthancserver
restart: always
ports:
- "4242:4242"
- "8042:8042"
networks:
- mynetwork
volumes:
- /tmp/orthanc-db/:/var/lib/orthanc/db/
- /c/Users/ABCUser/Desktop/Project/orthanc.json:/etc/orthanc/orthanc.json:ro
dcserver:
build: ./dc_node_server
depends_on:
- orthanc
container_name: dcserver
restart: always
ports:
- "5001:5001"
networks:
- mynetwork
volumes:
- localdb:/database
volumes:
localdb:
external: true
networks:
mynetwork:
external: true