Docker-Machine 메모리를 늘리는 방법 Mac


108

저는 Docker를 처음 사용하며 Docker 이미지 ( http://docs.memsql.com/4.0/setup/docker/) 에서 MemSQL을 설정하는이 자습서를 진행하려고합니다 . 나는 Mac을 사용 boot2docker하고 있으며 더 이상 사용되지 않는 것으로 보이는 자습서를 사용합니다 .

VM을 실행하려면 4GB 메모리가 필요합니다. 이 튜토리얼은이를 수행하는 방법을 지정 boot2docker하지만 docker-machine / docker 도구 상자로이를 수행하는 방법을 찾을 수 없습니다.

다음은 내가 사용하는 명령과 boot2docker 구성을 변경하지 않고 자습서를 진행하려고 시도하는 오류입니다.

docker run --rm --net=host memsql/quickstart check-system
Error: MemSQL requires at least 4 GB of memory to run.

답변:


111

도커 머신을 만들 때 메모리 크기를 지정할 수 있습니다.

docker-machine create -d virtualbox --virtualbox-memory 4096 default

이것이 도움이되는지 알려주세요.


이것은 확실히 메모리 할당을 조정하기에 적합한 장소 인 것 같습니다. 그러나이 VM을 다시 시작한 후에도 동일한 오류가 발생합니다. 에서 check-system프로그램 ( github.com/memsql/memsql-docker-quickstart/blob/master/... ),이 오류를 결정하는 것이 선을보고하고있다. ONE_MB = 1024 ** 2, virtual_memory = psutil.virtual_memory(), if virtual_memory.total < ONE_MB * 3700: sys.stderr.write("Error: MemSQL requires at least 4 GB of memory to run.\n").
DJElbow 2015-09-29

2
구성을 변경하여이 작업을 수행 할 수 없었지만 위에 표시된대로 도커 머신 VM을 삭제하고 다시 생성하면 문제가 해결되었습니다!
DJElbow 2015-09-29

물론, 두 번째 방법으로 청소합니다. 더 이상 작동하지 않는 것 같습니다.
BMW

178

명령 줄을 통해이 작업을 수행 할 수 있습니다. 예를 들어, 기본 1cpu / 2048MB RAM에서 시스템을 변경하려면 다음을 실행하십시오.

docker-machine stop
VBoxManage modifyvm default --cpus 2
VBoxManage modifyvm default --memory 4096
docker-machine start

그런 다음 설정을 확인할 수 있습니다.

VBoxManage showvminfo default | grep Memory
VBoxManage showvminfo default | grep CPU

docker-machine inspect사물의 올바른 상태를보고, 편집 ~/.docker/machine/machines/default/config.json변경 사항을 반영합니다.


1
이것은 GUI (버전 5.0.16)가 그렇지 않은 경우에도 작동했습니다.
MikeF

6
이 답변은 상단에 있어야합니다
nakajuice

5
명령이 실행 된 후에는 docker-machine inspect변경 사항이 표시되지 않습니다. 그러나 실행 docker stats하면 변경 사항이 적용되었음을 알 수 있습니다.
slovit

@slovit 및 기타 : 그런 다음 config.json실제 크기를 반영하도록 docker-machine 파일을 수정할 수 있습니다 . 예 : for default는 예제 솔루션에 사용 된대로 ~/.docker/machine/machines/default/config.json파일을 수정하여 하위 속성 Memory(및 CPU수정 된 경우)이로 Driver변경되도록 4096합니다. 그러면 docker-machine inspect적절한 값이 표시됩니다.
ScriptAutomate

80

macOS의 Docker 버전 1.12.1 (빌드 : 12133) 이상의 경우 UI에서 CPU 및 RAM을 변경하고 docker를 다시 시작하는 옵션이 있습니다. 툴바에서 기본 설정을 찾을 수 있습니다. 명확성을 위해 이미지를 첨부합니다.

업데이트 : 2020 년 8 월 : 환경 설정 -> 리소스 (@ swedge218에 감사드립니다)

이전 단계 (아마도 현재 사용되지 않음) : 환경 설정-> 고급-> 리소스 조정-> 적용 및 다시 시작

https://www.dropbox.com/s/znltd1v4r00nfpu/Screenshot%202017-03-24%2012.12.58.png?dl=0

Docker 고급 탭 (메모리)


3
고급 탭으로 이동했습니다. 공유해 주셔서 감사합니다.
GabLeRoux

명백하고 완전히 직관적이지 않은 남자-감사합니다!
AlienWebguy

Virtualbox와 함께 딩기를 사용하는 경우에도 이러한 변경 사항이 적용됩니까? 아니면 VBoxManage를 사용하여 mem 크기를 조정해야합니까?
Artur79

2
이와 동등한 명령 줄이 있습니까? Mac 용 Docker가 있지만 분명히 docker-machine ls는 나에게 아무것도 제공하지 않으므로 기본 컴퓨터를 수정할 수 없습니다.
Andrea Bergonzo

오늘의 환경 설정-> 리소스입니다.
swedge218

42

여기 Docker Machine 관리자. 나는 조정을 생각하지 않는다config.json수동으로 것이 작동 합니다.

두 가지 옵션은 --virtualbox-memory세트로 머신을 생성 하거나 VirtualBox GUI에서 VM의 메모리를 조정하는 것입니다 (내 생각에 해당 VM에 대한 "설정> 시스템"). 기계의 전원이 꺼져 있고 작동하는 작은 슬라이더가 있는지 확인하십시오.

편집 : 또 다른 대답은 명령 줄에서 VBoxManage.


3
이것은 작동하지만 docker-machine inspectVirtualBox GUI에서 변경 한 후에도 원래 메모리 양을 계속보고합니다.
Tamlyn

2
즉 갖기 위해, 사실 docker-machine inspect정확한 양을보고, 당신은 어떻게 편집해야 config.json(의이 곳 inspect의 정보를 가져옵니다).
nathanleclaire

1
버추얼 박스에서 그 일을하는 것은 간단합니다
Niranjan Sonachalam


14

다른 답변은 VBoxManage를 사용하여 메모리를 변경하는 방법을 보여주었습니다.

docker-machine stop default
VBoxManage modifyvm default --memory 4096
docker-machine start default

명령 줄에서 변경 사항을 확인하려면 :

VBoxManage showvminfo default | grep Memory

또는

docker-machine ssh default free

안녕하세요 cpep, 답변 을 편집 하고 코드 블록의 형식을 올바르게 지정할 수 있습니까?
TT.

4

fox xhyve (macos의 또 다른 가상화) ~ / .docker / machine / default / config.json 속성 드라이버 / 메모리 (기본값은 1024)를 수정 한 다음 docker 시스템을 다시 시작하여 변경 사항을 적용 할 수 있습니다.


에서 찾았습니다 ~/.docker/machine/machines/default/config.json. 감사합니다 👍
Tarek N. Elsamni
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.