Привет,
Я использую docker-compose + docker-machine для развертывания своих сервисов на удаленных облачных машинах. Я заметил, что первая фаза docker-compose build
очень медленная для меня с приличным интернет-соединением (обычно от 3 до 15 минут).
При работе с --verbose
медленная фаза равна docker build <- (pull=False, nocache=False, stream=True, tag=u'backenddev_web', path='XXX', rm=True, dockerfile='Dockerfile-production')
Из того, что я вижу на мониторе активности своего ноутбука, это этап, на котором выполняется загрузка некоторых данных. Я также заметил, что время уменьшается, если я уменьшаю размер каталога, из которого строю. Скорость загрузки на этом этапе составляет от 100 до 200 кО / с, если я использую Google Compute или Digital Ocean, что кажется довольно медленным. Я должен уметь загружать не менее 800Ко / с.
Есть идеи, как ускорить процесс или углубиться в мою проблему?
Благодарю.
Первая часть build
- это загрузка контекста сборки в движок докера. Контекст сборки - это все, что находится в каталоге и в подкаталогах. Если у вас есть большие файлы данных или большой .git
, возможно, вы загружаете много ненужного. .dockerignore
был добавлен, поэтому вы можете пропустить любые файлы, которые не хотите загружать.
https://docs.docker.com/reference/builder/#dockerignore -file
Это должно помочь, уже сохранено 10M без учета .git
! Благодарю.
Большой!
Первая часть
build
- это загрузка контекста сборки в движок докера. Контекст сборки - это все, что находится в каталоге и в подкаталогах. Если у вас есть большие файлы данных или большой.git
, возможно, вы загружаете много ненужного..dockerignore
был добавлен, поэтому вы можете пропустить любые файлы, которые не хотите загружать.https://docs.docker.com/reference/builder/#dockerignore -file
Я должен вам очень понравиться, ваш ответ действительно решает мою проблему.
Самый полезный комментарий
Первая часть
build
- это загрузка контекста сборки в движок докера. Контекст сборки - это все, что находится в каталоге и в подкаталогах. Если у вас есть большие файлы данных или большой.git
, возможно, вы загружаете много ненужного..dockerignore
был добавлен, поэтому вы можете пропустить любые файлы, которые не хотите загружать.https://docs.docker.com/reference/builder/#dockerignore -file