Oracle Mac OSX Yosemite上Docker的更多交换空间
我正在尝试在docker中添加更多交换空间,以避免安装oracle数据库时出现此错误: 此系统不满足交换空间的最低要求。 根据系统上可用的物理内存量,Oracle Database 11g Express Edition需要2048 MB的交换空间。这 系统有1023 MB的交换空间。在服务器上配置更多交换空间 然后重试安装 我遵循此处评论的说明: 但当我执行mkswap时,我得到“未找到命令”:Oracle Mac OSX Yosemite上Docker的更多交换空间,oracle,macos,docker,Oracle,Macos,Docker,我正在尝试在docker中添加更多交换空间,以避免安装oracle数据库时出现此错误: 此系统不满足交换空间的最低要求。 根据系统上可用的物理内存量,Oracle Database 11g Express Edition需要2048 MB的交换空间。这 系统有1023 MB的交换空间。在服务器上配置更多交换空间 然后重试安装 我遵循此处评论的说明: 但当我执行mkswap时,我得到“未找到命令”: 有什么想法吗?Docker for Mac运行一个Alpine Linux虚拟机来托管容器 这是
有什么想法吗?Docker for Mac运行一个Alpine Linux虚拟机来托管容器 这是一个预构建的引导映像,旨在易于使用,并且会随着时间的推移而更新,因此有时很难进行自定义,因为大多数配置在重新启动时都会重置 在这种情况下,您可以持久化交换文件更改,但这样的配置可能会在不通知的情况下在版本之间更改。您最好为此运行一个,这样您的交换配置就会挂起 Mac 17.06.0的Docker 交换由VM中的
/etc/init.d/automount
init脚本中的do\u swapfile
函数控制。如果交换文件存在,它将按原样使用。由于交换文件存储在/var
中,因此它会在重新启动时保持不变,并且可以手动自定义
使用屏幕
(brew安装屏幕
如果您没有,请从mac连接到VM的tty)
然后在VM中,用所需大小的新交换文件替换现有交换文件,并重新启动机箱。文件大小为块大小bs
*count
swapoff -a
dd if=/dev/zero of=/var/spool/swap bs=1k count=2097152
chmod 600 /var/spool/swap
mkswap /var/spool/swap
reboot
当虚拟机重新启动后,您应该能够再次连接,并看到虚拟机的交换空间与空闲空间的新大小
$ screen ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/tty
/ # free
total used free shared buffers cached
Mem: 3526164 389952 3136212 165956 20968 208160
-/+ buffers/cache: 160824 3365340
Swap: 2097148 0 2097148
你是在你的容器中运行,还是在你的mac上运行?在我的mac上运行我假设它应该在你的linux容器中运行,而不是在mac上运行。你能在容器里运行它吗?还有,您使用的是什么docker图像?这可能是一个很好的参考:Docker for Mac运行一个Alpine Linux虚拟机。。。命令需要在那里运行
swapoff -a
dd if=/dev/zero of=/var/spool/swap bs=1k count=2097152
chmod 600 /var/spool/swap
mkswap /var/spool/swap
reboot
$ screen ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/tty
/ # free
total used free shared buffers cached
Mem: 3526164 389952 3136212 165956 20968 208160
-/+ buffers/cache: 160824 3365340
Swap: 2097148 0 2097148