这篇文章将为大家详细讲解有关DockerCE之执行docker info出现两条警告信息及解决方案,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
Docker CE 执行 docker info
警告及解决方案
问题:
执行 docker info
命令时,出现两条警告信息:
- 警告 1:
WARNING: The default ulimit memory limit is set to 65536
- 警告 2:
WARNING: No swap limit support
解决方案:
解决警告 1:
此警告表明系统内存限制过低,可能会导致 Docker 容器在需要更多内存时出现问题。要解决此问题,可以修改系统内存限制:
- 编辑
/etc/security/limits.conf
文件。 - 在该文件中添加或修改以下行:
* soft memlock unlimited
* hard memlock unlimited
- 保存文件并重新启动 Docker:
sudo systemctl restart docker
解决警告 2:
此警告表明系统不支持交换限制。交换空间是一个虚拟内存区域,当系统物理内存不足时用作额外的内存。对于 Docker 容器来说,拥有交换限制非常重要,因为这可以防止容器耗尽内存并崩溃。
要解决此问题,请确保系统上有可用的交换空间:
- 检查当前交换空间使用情况:
free -m
- 如果交换空间不可用,请创建交换分区:
sudo fallocate -l 2G /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
- 调整 Docker 的交换限制:
sudo vi /etc/default/docker
- 在该文件中,将
DOCKER_OPTS
行修改为:
DOCKER_OPTS="-s overlay2 -H fd:// -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock --default-ulimit memory=262144 --storage-opt dm.swap=true"
- 保存文件并重新启动 Docker:
sudo systemctl restart docker
额外的提示:
- 确保系统的内核支持交换。
- 对于生产环境,建议将交换空间设置为物理内存的两倍。
- 如果仍然遇到问题,请参阅 Docker 官方文档以获取更多故障排除提示。
以上就是DockerCE之执行docker info出现两条警告信息及解决方案的详细内容,更多请关注编程学习网其它相关文章!