[英]How to limit CPU usage of Docker build command?
我的 Dockerfile 执行RUN npm run build
命令。 当我在 t2.micro EC2 实例上执行docker build
命令时,实例冻结并且没有响应(我什至无法连接 ssh)。 当我监控 CPU 使用率时,我可以看到 CPU 使用率达到了最高水平。 因此,我试图通过--max_semi_space_size=1
和--max_old_space_size=198
arguments 来限制 memory 的使用,但它没有用。
如果我可以为 docker 构建命令设置 CPU 使用限制,我认为它可能会起作用。 有人能帮我吗?
我知道如果我增加 EC2 实例的 vCPU 数量,那么我可以毫无问题地构建我的应用程序,但由于它是一个演示项目,我正在尝试将它部署在免费层上。
Dockerfile:
FROM node:16-alpine
COPY . .
# Install dependencies
RUN node \
--max_semi_space_size=1 \
--max_old_space_size=198 \
$(which npm) ci
# Build the app
RUN node \
--max_semi_space_size=1 \
--max_old_space_size=198 \
$(which npm) run build
EXPOSE 3000
# Start the app
CMD [ "npx", "serve", "build" ]
在您的系统中,运行sudo docker info
。 如果您收到警告:不支持交换限制,您需要首先通过运行sudo nano /etc/default/grub
并添加以下行来手动编辑 grub 配置: GRUB_CMDLINE_LINUX="cdgroup_enable=memory swapaccount=1"
并保存。
然后可以限制cpu。 有关限制 memory 和 cpu 的命令,您可以查看这篇文章。 限制 cpu 和 memory 在容器中的使用
问题未解决?试试以下方法:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.