Docker 工具箱无法分配内存

Docker toolbox cannot allocate memory

我正在尝试在我的 mac 上本地获取一个容器 Docker 运行,我一直在云端工作。我找到了 docker commit/save/load。但是当我在安装 docker 工具箱后在本地访问 运行 时,我得到了这个错误

docker logs es-loaded-with-data
Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00000006c5330000, 4207738880, 0) failed; error='Cannot allocate memory' (errno=12)
Starting elasticsearch: #
# There is insufficient memory for the Java Runtime Environment to continue.
# Native memory allocation (mmap) failed to map 4207738880 bytes for committing reserved memory.
# An error report file with more information is saved as:
# //hs_err_pid16.log

Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00000006c5330000, 4207738880, 0) failed; error='Cannot allocate memory' (errno=12)
Starting elasticsearch: #

如果我这样做 docker info 然后我得到

Total Memory: 1.956 GiB

显然 2 Gb 是不够的。我如何增加它以便我的容器 运行?

Docker on Mac OS 在带有 docker-machine(或更旧的 bo​​ot2docker)的 virtualbox VM 中运行。我不确定 docker-machine 是否支持直接修改 VM RAM,但您可以直接启动 VirtualBox.app 并直接修改 VM 内存量。重新启动 VM 等。

重新启动 docker 服务解决了我的问题。