Объемное крепление с помощью док-станции - PullRequest
0 голосов
/ 19 октября 2018

Ниже приведен мой файл стека докеров.

version: "3"
services:
  my-app:    
    image: my-image:latest    
    volumes:
      - ./certs:/certs   
    ports:
      - 6401:6401
    networks:
      my-net:        
         ipv4_address: 192.168.0.4
networks:
  my-net:
    external: true

Он отлично работает на моем компьютере, привязывая папку certs к сертификатам внутри контейнера.Однако не работает в моем конвейере CI, где я развертываю этот сервис внутри образа узла докера.Я получаю ошибку:

недопустимая конфигурация монтирования для типа "bind": исходный путь монтирования bind не существует.

Я прочитал, что если вы связываете монтирование пути хостав контейнеры вашей службы, путь должен существовать на каждом узле роя.Итак, я думаю, что мне нужно создать именованный том.Однако с указанным томом я не могу указать исходный путь сертификатов.Это сбивает с толку.Может ли кто-нибудь помочь с этим?

1 Ответ

0 голосов
/ 19 октября 2018

Для привязки к каталогу каталог должен существовать на хост-компьютере, поэтому ./certs не существует на хосте, на котором выполняется контейнер, поэтому ...

Если вы хотите связать том, вы будетенеобходимо запустить:

mkdir -p ./certs

на машине, на которой запущен контейнер, и она заработает.

Он работает на вашем компьютере, поскольку каталог существует локально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...