После продолжения исследований я нашел ответ на этот вопрос.В Docker для Mac демон Docker фактически запускается внутри виртуальной машины Hyperkit, а интерфейс командной строки Docker просто связывается с механизмом Docker, работающим в Hyperkit.Конфигурация для этого находится в ~ / Library / Group Containers / group.com.docker / settings.json.
{
"proxyHttpMode" : "system",
"diskPath" : "~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/Docker.qcow2",
"diskSizeMiB" : 65536,
"cpus" : 5,
"defaultMachineMigrationStatus" : 4,
"memoryMiB" : 9216,
"displayedWelcomeWhale" : true,
"buildNumber" : "26764",
"autoStart" : true,
"kubernetesInitialInstallPerformed" : true,
"channelID" : "stable",
"checkForUpdates" : true,
"settingsVersion" : 1,
"kubernetesEnabled" : true,
"version" : "18.06.1-ce-mac73",
"displayedWelcomeMessage" : true,
"analyticsEnabled" : true,
"linuxDaemonConfigCreationDate" : "2017-10-24 15:59:40 +0000",
"dockerAppLaunchPath" : "/Applications/Docker.app"
}
Когда Docker запускается, он выделяет эти параметры для hyperkit в качестве аргументов командной строки: com.docker.hyperkit -A -u -F vms/0/hyperkit.pid -c 5 -m 9216M
.
По умолчанию при запуске Docker-контейнеров Docker выделяет всю память иЦП гиперкита, который они могут потреблять, но могут быть переопределены аргументами запуска Docker.