首页 > 解决方案 > gcloud:在将 docker 容器部署到 GCE 时添加 docker run 参数

问题描述

--shm-size当我docker runContainer Registry.

根据文档,我需要使用Arguments下面的字段,Advanced container options但它对我不起作用。我已经添加了--shm-size 1G这样的行:

在此处输入图像描述

docker exec -it 68d... df -h仍然返回默认的 shm 大小:
shm 64M 0 64M 0% /dev/shm

有人可以建议我如何解决我的问题吗?
我也尝试在 docker 容器内手动增加它,但遇到了 mount: /dev/shm: permission denied.问题。

更新
解决方案:
我创建了一个 bash 脚本作为手动设置 /dev/shm 大小的入口点:

#!/bin/bash
echo "none /dev/shm tmpfs defaults,size=500m 0 0" >> /etc/fstab 
mount -o remount /dev/shm

dotnet Worker.dll

Dockerfile:

....
USER root
COPY ["Worker/start.sh", "app/"]
CMD ["/bin/bash", "app/start.sh"]

标签: dockergoogle-cloud-platformgoogle-compute-engine

解决方案


高级容器选项下的参数就像将 arg 传递给 ENTRYPOINT。使用来自容器 vm 'curl -H "Metadata-Flavor: Google" " http://metadata.google.internal/computeMetadata/v1/instance/attributes/gce-container-的命令查询计算元数据“gce-container-declaration”声明"'

对于您的用例,创建非容器 VM,然后自己安装 docker 并使用我们的 docker shm arg 运行容器


推荐阅读