- 我的配置:**
- 带有VSCode的笔记本电脑(带有VSCode远程开发扩展)和Docker Desktop。
- 具有Docker主机的服务器。
- 我的项目在本地正好有:devcomposer.json和一个docer-compose.json。
- 我的进程:**
- 打开到服务器的SSH隧道。
- 在VSCode中,我点击了open in container(它构建了容器)。
- 我的远程开发容器构建得很好,我可以使用那里的一切。
"我的小问题"
当对大量填充的文件夹(如node_modules)运行一个简单的chown时,容器内存需求变得疯狂,不仅使容器崩溃,而且使我的整个服务器崩溃。
"我试过"
- 使用以下参数设置runArgs:
- ["-m"、"3g"]
- ["--内存= 3g"]
- ["--内存=" 3g""]
- ["--内存保留= 3g"]
- 在我的Dockerfile中为以后运行chown命令的用户设置ulimit。
- 删除Docker主机中的所有图像和容器,以强制--no-cache(我还没有找到如何注入它:-/)
- 帮助!**没有任何工作...有人知道我可以做些什么来防止容器消耗服务器上的所有内存吗?
3条答案
按热度按时间s1ag04yj1#
万一有人发现自己在同一个无限循环。我发现什么问题!!
在使用停靠组合时,似乎没有使用runArgs,因此此处的配置不起作用。
下一个最好的选择是通过docker-compose.yml文件来完成这个任务,对吗?当然,只有当你使用docker-composer版本2时才是这样,因为版本3只能与Docker swarm一起使用。在我的例子中,我切换到了版本2,现在一切都很顺利。
TL;DR
您的
docker-compose.yml
文件应如下所示:检查以下内容以获得语法提示:https://docs.docker.com/compose/compose-file/compose-file-v2/#cpu-and-other-resources
wf82jlnq2#
您只需要设置gb而不是g:
这对我很有效。
wlzqhblo3#
如果您使用的是DockerFile,那么您可以使用下面的代码来增加容器使用的内存。
使用
--memory
对Docker容器没有任何影响。这对我来说已经成功了。您可以参阅https://datawookie.dev/blog/2021/11/shared-memory-docker/中的更多信息。