2016-07-26 6 views
0

이전의 회사에서는 마이크로 서비스 아키텍처를 채택하고이를 구현하기 위해 Docker를 사용했습니다. Docker 이미지의 평균 크기는 ~ 300MB ~ 600MB입니다. 그러나 새 회사는 Docker를 주로 개발 워크 플로우 용으로 사용하고 있으며 평균 이미지 크기는 ~ 1.5GB ~ 3GB입니다. 일부 대형 이미지 (10GB 이상)는 이미지 크기를 줄이기 위해 적극적으로 리팩토링되고 있습니다.Docker 이미지 크기가 '너무 큽니다'로 간주되는 것은 무엇입니까?

내가 읽은 모든 것에서이 이미지가 너무 크고 문제가 발생할 것이라고 생각하지만 나머지 팀은 Docker Engine과 Docker Swarm이 문제없이 이미지 크기를 처리해야한다고 생각합니다.

내 질문 : Docker 이미지에 허용되는 이상적인 범위가 있습니까? GB 이미지의 워크 플로를 사용하려고 할 때 어떤 함정이 있는지 알고 싶습니다.

답변

-1

도커 자체가 문제를 처리 할 수는 없지만 떼에 대해서는 말할 수 없습니다. "얼마나 큰가 너무 큽니다"라고 대답 할 수있는 팀이 있습니다. 이미지가 5GB이고 응용 프로그램의 90 %가 응용 프로그램에 중요하다면, 나는 비대 해졌다 고 말하지 않을 것입니다. 이미지가 300M에 불과하지만 응용 프로그램에서 이미지의 10 % 만 필요하면 부풀어 오릅니다.

FWIW, 지금은 "새로운"당신의 "새로운 회사"에 따라, 당신이 보트를 흔들지 않는 것이 가장 좋습니다.

1

내 생각에 이상적인 크기는 정확한 경우에만 이상적입니다. 나와 현재 회사의 경우 1GB보다 큰 이미지가 없습니다.

10GB 크기의 이미지를 사용하고 문제가없는 경우 (가능합니까?), 괜찮습니다.

문제의 예로는 다음과 같은 질문을 생각해 볼 수 있습니다. "이미지가 인터넷을 통해 원격 서버/dev 컴퓨터에 배포되는 동안 1-2 시간 정도 기다려도 괜찮습니까?", 이것은 모두 가능합니다. 안 좋아. 당신이 그런 문제에 직면하지 않는 동안 다른 한편으로는, 당신은 전혀 문제가 없습니다.
작은 이미지가 몇 초 동안 시작되는 동안 또 다른 문제는 거대한 이미지가 몇 분 동안 시작된다는 것입니다. 또한 "핫 배포"체계를 사용하면 중단 될 수 있습니다.

이미지가 너무 큰 이유를 확인하는 것이 적절할 수도 있습니다. how layers work을 읽을 수 있습니다.
첫째 :

RUN download something huge that weight 5GB 
RUN remove something huge from above 

둘째 : 당신이 2 Dockerfile 경우 곧, 그 결과로

RUN download something huge that weight 5GB &&\ 
    remove something huge from above 

을가 동일한 반면, 두 번째 이미지는 첫 번째보다 무게 5기가바이트입니다 내부.

다른 트릭은 처음부터 작은 기본 이미지를 사용합니다.

IMAGE NAME  SIZE 
busybox  1 MB 
alpine   3 MB 
debian   125 MB 
ubuntu   188 MB 

데비안 동안 우분투 그것은 시작 50메가바이트에서 당신을 저장합니다, 그리고 미래에 덜 의존해야합니다, 내부 같은 거의이다 : 그냥이 차이를 비교한다.

+0

답해 주셔서 감사합니다. 그러나 내 질문은 '이미지 크기를 줄이는 방법은 없지만'이미지 크기가 가능한 한 작고 여전히 3GB 인 경우 어떤 문제가 나옵니까? ' – user1873858

관련 문제