Как выделить больше памяти для виртуальной машины Windows, которую использует Docker для Windows при запуске контейнера Windows? - PullRequest
0 голосов
/ 08 января 2019

Dockerfile для моего изображения сейчас очень прост:

FROM openjdk:11.0-windowsservercore-ltsc2016
RUN mkdir artifactory
ADD artifactory-pro-6.3.3 artifactory/
# systeminfo for debugging purposes only
RUN systeminfo
RUN C:\\artifactory\bin\artifactory

Вывод вызова systeminfo включает следующее:

OS Name:                   Microsoft Windows Server 2016 Datacenter
OS Version:                10.0.14393 N/A Build 14393
OS Manufacturer:           Microsoft Corporation
OS Configuration:          Standalone Server
OS Build Type:             Multiprocessor Free
Registered Owner:          N/A
Registered Organization:   N/A
Original Install Date:     12/5/2018, 4:52:49 PM
System Boot Time:          1/8/2019, 11:19:36 AM
System Manufacturer:       Microsoft Corporation
System Model:              Virtual Machine
System Type:               x64-based PC
Processor(s):              1 Processor(s) Installed.
                           [01]: Intel64 Family 6 Model 85 Stepping 4 GenuineIntel ~3696 Mhz
BIOS Version:              Microsoft Corporation Hyper-V UEFI Release v2.5, 5/2/2018
Windows Directory:         C:\Windows
System Directory:          C:\Windows\system32
Boot Device:               \Device\HarddiskVolume1
System Locale:             en-us;English (United States)
Input Locale:              N/A
Time Zone:                 (UTC-06:00) Central Time (US & Canada)
Total Physical Memory:     1,023 MB
Available Physical Memory: 597 MB
Virtual Memory: Max Size:  1,023 MB
Virtual Memory: Available: 612 MB
Virtual Memory: In Use:    411 MB
Page File Location(s):     N/A
Domain:                    WORKGROUP
Logon Server:              N/A
Hotfix(s):                 3 Hotfix(s) Installed.
                           [01]: KB4132216
                           [02]: KB4465659
                           [03]: KB4471321
Network Card(s):           N/A
Hyper-V Requirements:      A hypervisor has been detected. Features required for Hyper-V will not be displayed.

Как видите, атрибуты «Виртуальная память: максимальный размер» и «Общая физическая память» установлены только на 1023 МБ. Моя информация о докере включает в себя следующее:

Containers: 24
 Running: 0
 Paused: 0
 Stopped: 24
Images: 35
Server Version: 18.03.1-ce
Storage Driver: lcow (linux) windowsfilter (windows)
 LCOW:
 Windows:
Logging Driver: json-file
Plugins:
 Volume: local
 Network: ics l2bridge l2tunnel nat null overlay transparent
 Log: awslogs etwlogs fluentd gelf json-file logentries splunk syslog
Swarm: inactive
Default Isolation: hyperv
Kernel Version: 10.0 16299 (16299.637.amd64fre.rs3_release_svc.180808-1748)
Operating System: Windows 10 Enterprise
OSType: windows
Architecture: x86_64
CPUs: 16
Total Memory: 31.68GiB

Я использую следующую команду для запуска моего контейнера:

docker run -it --name testing -m 8G artifactory-server:latest

Тем не менее, доступен только 1G. Это проблематично, поскольку, когда я пытаюсь запустить Artifactory, среде выполнения Java не хватает памяти, а контейнер не запускается.

Это мой первый набег в Docker для Windows, так что, возможно, у меня что-то неправильно настроено. Потенциальные решения, с которыми я столкнулся, ссылаются на VirtualBox, которого у меня нет из-за его несовместимости с Hyper-V и работающими контейнерами Windows.

Я не вижу «расширенных» настроек, которые другие видят, что заставляет меня задаться вопросом, есть ли у меня правильная версия Docker вообще. Вот изображение того, что я вижу.

РЕДАКТИРОВАТЬ : После исследования выясняется, что причина, по которой я не вижу вкладки «Общие диски», «Сеть» и «Kubernetes» в меню «Настройки», связана с тем, что они являются только доступно для контейнеров Linux.

Любое направление будет с благодарностью.

Спасибо!

1 Ответ

0 голосов
/ 08 января 2019

В разделе «Дополнительно» настроек демона Docker вы можете обновить настройки памяти и процессора:

enter image description here

Вы можете увидеть все детали здесь

...