vps交流

求助:安装docker时,为什么compose.yml的参数配置不起作用


本帖最后由 head 于 2024-6-23 17:12 编辑

想装虚拟群晖(https://github.com/vdsm/virtual-dsm)
下载compose.yml到小鸡上/vdsm/virtual-dsm/,compose.yml中默认RAM是1G,修改为512M,修改的地方:RAM_SIZE: "512M",保存修改。
求助:安装docker时,为什么compose.yml的参数配置不起作用
然后运行docker-compose up,显示 ERROR: Your configured RAM_SIZE of 1 GB is too high for the 0 GB of memory available, please set a lower value.
表明RAM设置不起作用,这是什么原因?
求助:安装docker时,为什么compose.yml的参数配置不起作用

很可能你的内存不够,在1台1C1G的机器上复现了,你没注意到这行吗
dsm  | ❯ CPU:  | RAM: 0/1 GB

在3C4G的机器上,无论设置1G还是512M都是可以启动的
dsm  | ❯ CPU: Intel Xeon CPU E5 2683 v4 | RAM: 3/4 GB | DISK: 32 GB (ext4) |

官方的reset.sh里是这样的
RAM_AVAIL=$(free -b | grep -m 1 Mem: | awk ‘{print $7}’)
RAM_TOTAL=$(free -b | grep -m 1 Mem: | awk ‘{print $2}’)
RAM_SIZE=$(echo "${RAM_SIZE^^}" | sed ‘s/MB/M/g;s/GB/G/g;s/TB/T/g’)
RAM_WANTED=$(numfmt –from=iec "$RAM_SIZE")
AVAIL_GB=$(( RAM_AVAIL/1073741824 ))

要调整更精准的调整这个判断,要去提issue改

我记得这玩意,比较看代码缩进,之前遇到过一次不生效,就是因为编辑器的原因把缩进吃掉了,导致出错

vvvvv 发表于 2024-6-23 17:15
很可能你的内存不够,在1台1C1G的机器上复现了,你没注意到这行吗
dsm  | ❯ CPU:  | RAM: 0/1 GB

谢谢答复,用的甲骨文AMD,内存的确只有1G,我看virtual-dsm以前的版本是可以512M,当前版本默认1G,描述里面提到可以修改RAM。可能是最低要1G?我用以前的版本试试。
——-小鸡差数如下———-
CPU架构: x86_64
CPU型号: AMD EPYC 7J13 64-Core Processor
CPU核心数: 2
CPU占用:  18.9%
物理内存: 436.41/980.67 MB (44.50%)
虚拟内存: 64MB/975MB (6%)
硬盘占用: 2.0G/96G (3%)

arm机器内存大,能用吗?

head 发表于 2024-6-23 17:21
谢谢答复,用的甲骨文AMD,内存的确只有1G,我看virtual-dsm以前的版本是可以512M,当前版本默认1G,描述 …

根据关键字在库里找了下
报错的判断逻辑在这里
https://github.com/vdsm/virtual-dsm/blob/7c392082b190a6626e0d9beaf4c6f4d2bbce1579/src/config.sh#L23
https://github.com/vdsm/virtual-dsm/blob/7c392082b190a6626e0d9beaf4c6f4d2bbce1579/src/reset.sh#L73

if [[ "$RAM_CHECK" != [Nn]* ]]; then

  RAM_AVAIL=$(free -b | grep -m 1 Mem: | awk ‘{print $7}’)
  AVAIL_GB=$(( RAM_AVAIL/1073741824 ))

  if (( (RAM_WANTED + RAM_SPARE) > RAM_AVAIL )); then
    error "Your configured RAM_SIZE of $WANTED_GB GB is too high for the $AVAIL_GB GB of memory available, please set a lower value."
    exit 17

RAM_WANTED + RAM_SPARE) > RAM_AVAIL
如果想要设置的内存,加上RAM_SPARE,大于free -b里设置的内存,就会报这个错。

RAM_SPARE官方设置的是500000000,差不多500M,基础就有512+500了,你1G内存一定不够的

arm下能docker运行x86的黑群晖?

tows8 发表于 2024-6-23 17:27
arm机器内存大,能用吗?

甲骨文的arm不支持,可以用以下命令测试是否支持
How do I verify if my system supports KVM?
To verify that your system supports KVM, run the following commands:
sudo apt install cpu-checker
sudo kvm-ok