Можно ли указать абсолютный путь в Docker -compose для контекста сборки? - PullRequest
0 голосов
/ 29 марта 2020

Вот сценарий:

  1. SQL Файлы, связанные с SERVER, по адресу: C: \ Temp \ docker
  2. . NET Файлы, связанные с API, по адресу: C: \ Users \ Samurai \ source \ repos \ ApiForDocker \ ApiFor Docker

Как я понимаю из этого официального образца docker -составить файл:

version: "3"
services:

  web:
    build: .  // relative path goes over here
    links:
      - "db:database"
  db:
    image: postgres

Теперь я могу сохранить свой docker -компонентный файл в любой папке. 1) или 2) но как мне указать правильный путь для других без необходимости перемещения файлов? Причина, по которой я не хочу перемещать файлы сейчас, заключается в том, что я боюсь, что это может привести к перестройке контейнера без кэша. Хотя это может и не иметь большого значения для меня сейчас, но я просто пытаюсь учиться.

РЕДАКТИРОВАТЬ:

version: "3"
services:
    coreapi:
        build:
            context: .
            dockerfile: Dockerfile
        ports:
            - "5000:5000"
    sqlserver:
        build:
            context: C:\Temp\docker
            environment: 
                ACCEPT_EULA="Y"
                SA_PASSWORD="Pwd12345!"
        ports:
            - "11433:1433"

Ошибка :

ERROR: The Compose file '.\docker-compose.yml' is invalid because:
services.sqlserver.build contains unsupported option: 'environment'

1 Ответ

0 голосов
/ 29 марта 2020

Вы не можете ссылаться на файлы вне контекста сборки docker. Таким образом, вы должны либо установить контекст компоновки для первого общего каталога, содержащего все, что вы хотите, либо скопировать файлы, которые будут делать, в образ в каталоге и построить там свой образ.

Пока файл содержимое одинаковое, docker сможет использовать кеш сборки.

...