首页 > 服务器学习 > docker进入容器里面很慢时什么原因

docker进入容器里面很慢时什么原因

时间:2023年1月4日 分类:服务器学习 浏览量:44

docker进入容器里面很慢时什么原因?你所使用的宿主机操作系统发行版,和容器中基础镜像的发行版很有可能存在区别。本地的发行版软件源一般会是国内地址,而官方镜像中的源一般都是国外的源。

由于国内网络的原因,连接国外的源很有可能非常慢。因此,容器内的基础镜像中使用国外源的话,在容器在国内运行,apt-get update 会非常慢。

还有一点需要注意:容器的DNS问题。一旦运行docker daemon或者docker run时没有指定dns的,并且宿主机的默认dns为127.0.0.1,那么docker daemon会自动给容器配置dns为8.8.4.4和8.8.8.8,而这两个DNS地址在国内使用时不是很稳定,因此,也存在域名解析缓慢甚至被阻的情况。

解决docker容器里网络请求慢的问题

经过抓包测试等分析,发现网络请求慢,主要发生在dns解析中,所以主要采取dns优化。

如果请求的是自己内网的api, 可以直接修改/etc/hosts文件,如果是外网的请求可以通过更改/etc/resolv.conf里的nameserver实现。

docker容器肯定不是直接通过修改文件实现的,可以通过run的命令实现:

# 添加host
docker run --name app --add-host='api.embbnux.com:10.98.10.98' -d ubuntu
# 指定dns server
docker run --name app --dns=223.5.5.5 --dns=8.8.8.8 -d ubuntu

这样在docker容器里dns解析阶段的时间就被加速了

西部数码的容器云产品是通过docker技术,在集群服务器上部署容器服务实现,功能强大、简单易用,拥有上万linux镜像,灵活轻量,高性价比的容器云产品链接 paas/container/

觉得文章有用就打赏一下文章作者

微信扫一扫打赏

标签: