Oi,
Estou usando docker-compose + docker-machine para implantar meus serviços em máquinas remotas na nuvem. Notei que a primeira fase do docker-compose build
é muito lenta para mim com uma conexão de internet decente (normalmente entre 3 minutos e 15 minutos).
Ao correr com --verbose
a fase lenta é docker build <- (pull=False, nocache=False, stream=True, tag=u'backenddev_web', path='XXX', rm=True, dockerfile='Dockerfile-production')
Pelo que posso ver no monitor de atividade do meu laptop, esta é uma fase em que algum upload de dados está sendo feito. Também notei que o tempo diminui se eu diminuir o tamanho do diretório a partir do qual estou construindo. A velocidade de upload durante esta fase está entre 100Ko / se 200Ko / s, esteja eu construindo em um Google Compute ou Digital Ocean - que parece bem lento. Devo ser capaz de fazer upload de pelo menos 800Ko / s.
Alguma ideia de como acelerar as coisas ou aprofundar meu problema?
Obrigado.
A primeira parte de build
é fazer upload do contexto de construção para o mecanismo do docker. O contexto de construção é tudo no diretório e nos subdiretórios. Se você tem arquivos de dados grandes ou .git
, pode estar enviando muitas coisas desnecessárias. .dockerignore
foi adicionado para que você possa pular os arquivos que não deseja enviar.
https://docs.docker.com/reference/builder/#dockerignore -file
Isso deve ajudar, já 10 milhões salvos w / ignorando .git
! Obrigado.
Ótimo!
A primeira parte de
build
é fazer upload do contexto de construção para o mecanismo do docker. O contexto de construção é tudo no diretório e nos subdiretórios. Se você tem arquivos de dados grandes ou.git
, pode estar enviando muitas coisas desnecessárias..dockerignore
foi adicionado para que você possa pular os arquivos que não deseja enviar.https://docs.docker.com/reference/builder/#dockerignore -file
Eu tenho que dar um grande like pra você, sua resposta realmente resolve meu problema.
Comentários muito úteis
A primeira parte de
build
é fazer upload do contexto de construção para o mecanismo do docker. O contexto de construção é tudo no diretório e nos subdiretórios. Se você tem arquivos de dados grandes ou.git
, pode estar enviando muitas coisas desnecessárias..dockerignore
foi adicionado para que você possa pular os arquivos que não deseja enviar.https://docs.docker.com/reference/builder/#dockerignore -file