Монтажный объем из контейнера ХИ в контейнер docker - PullRequest
0 голосов
/ 09 июля 2020

Мы используем CircleCI для проекта с типом выполнения по умолчанию docker. Это означает, что каждое задание CI, которое запускается, запускает новый контейнер Docker, а сборка запускается внутри этого контейнера.

Этот контейнер CI содержит следующие файлы:

docker-compose.yml
sql-setup.sql

Этот docker-compose.yml файл запускает изображение MySQL и использует volumes для копирования внутри SQL скрипта, чтобы он был готов при запуске, например:

  mysql:
    image: mysql:8.0.18
    ...
    volumes:
      - ./sql-setup.sql:/docker-entrypoint-initdb.d/sql-setup.sql

(Это работает на локальный компьютер разработчика.)

Проблема в том, что при работе на CI docker-compose up в «родительском» контейнере CI создает контейнер «дочерний / родственный» с:

drwxr-xr-x 2 root root   40 Jul  8 17:26 sql-setup.sql

Обратите внимание, что это каталог!

Моя отладка предполагает, что это потому, что ./sql-setup.sql не существует на хосте . (Только в контейнере CI, запущенном на хосте .)

Мой вопрос: Как мне настроить мой docker-compose.yml (или мою конфигурацию CircleCI), чтобы файл из контейнера CI (который работает docker-compose up) правильно копируется в получившийся mysql контейнер compose?

1 Ответ

0 голосов
/ 26 июля 2020

Использование machine исполнителя вместо docker исполнителя решает это

Ссылка: https://discuss.circleci.com/t/copying-files-to-docker-compose-container/12837

...