Я работаю над сервисом в системе, организованной с помощью компоновки докеров. Служба написана на скомпилированном языке, и мне нужно перестроить ее, когда я внес изменения. Я пытаюсь найти лучший способ быстро итерации изменений.Рабочий процесс разработки докеры для скомпилированных компонентов в настройке компоновки докеров
Я пробовал 2 'workflows', оба полагаются на связь с исходным каталогом через volume:
, чтобы получить последний источник.
- Всплывающие все опорные контейнеры с
docker-compose up -d
- остановки контейнера для службы в стадии разработки
- Выполнить новый контейнер с использованием изображения
docker-compose run --name SERVICE --rm SERVICE /bin/bash
- В этом контейнере запуска компиляции и запуска приложение в открытом порту.
- Перезапустите, прекратив работу, а затем перестройте.
- (требуется Dockerfile
CMD
строить, а затем запустить службу) - Остановите службу:
docker-compose kill SERVICE
- Перезапустите службу
docker-compose up -d --no-deps SERVICE
Проблема заключается в том как занять слишком много времени, чтобы перезагрузить против перезапуска службы локально (работает на моем ноутбуке независимо o f докер). Эта настройка выглядит нормально с интерпретируемыми языками, которые могут перезагружать измененные файлы, но я еще не нашел подходящую быструю систему для скомпилированных языковых служб.
Доккер работает на вашем ноутбуке или удаленно? Подумайте, что вы имеете в виду «против перезапуска службы локально». Что заставляет его «слишком долго перезапускать»? Скомпилируется медленнее? Начиная? – thaJeztah
Я попытался сделать это более ясным в вопросе. Докер работает через докер-машину. Когда я говорю «работает локально», я имею в виду создание и запуск службы без использования докеров. Это вариант, но это значит, что мне нужно изменить такие вещи, как URL-адрес базы данных и т. Д. –
А как мне кажется, в первую очередь, совместное использование файлов между хостом и виртуальной виртуальной машиной (это красиво) не очень эффективный; это ограничение использования файлов VirtualBox. Во-вторых, VM не может быть настроена для максимальной производительности, что может повлиять на продолжительность компиляции. Вы пытались, например? увеличить объем памяти и/или количество процессоров для виртуальной машины? – thaJeztah