Docker打镜像时怎么拉取git仓库

有时我们需要在Docker容器中去拉取git仓库,而这些个仓库很多时候是私有的,需要权限才能拉取。怎么做才合适呢?

我们知道git仓库一般都是支持通过SSH的方式去推送的拉取的,那把具有拉取权限的私钥加到Docker镜像里不就可以了吗?

听起来很简单,实际上要复杂一些,因为直接把私钥文件添加进镜像是不行的,因为还有其它的交互式操作。

服务器持续高负载问题排查

如果Linux服务器持续高负载,可按如下顺序来排查问题。

1. 使用`top`或`htop`查看高负载进程
2. 使用`ps aux`查看可疑进程
3. 如果都没有,使用`systemctl status`查看可疑服务
4. 查看`/etc/ld.so.preload`,看是不是预加载了一些东西,这里面的库是被隐藏起来的

Docker中创建可以使用GPU的容器

我们知道很多云服务商是提供显卡虚拟化服务的,比如Google Colab,可以在JupyterLab的运行时中选择GPU类型,阿里云的函数计算和PAI DSW也支持显卡类型的实例。

这些服务多半是以容器的方式部署的,以达到秒级启动的效果。

那么我们在创建Docker容器时,可不可以像它们那样使用主机上的显卡呢?

阿里云弹性容器实例ECI使用体验

阿里云弹性容器实例ECI是一个可以弹性伸缩容器组的服务,这两天简单体验了下。

这里说的是容器组,而不是容器,是因为添加实例的时候是添加一个组,在这个组里添加至少1个Docker容器,如果有多个容器,则伸缩的时候这些容器是按比例同时伸缩的。

该服务可以配合弹性伸缩管理服务来使用,根据一定的条件自动伸缩容器组,当不使用的时候,为节省资源计,将组内容器数设置为0都可以,需要了再增加。当然为了保证响应的速度,还是保持最低一个容器比较保险。而这是可以通过API、SDK来实现的。

阿里云云函数2023年试用体记

之前体验过两次阿里云云函数,当时因为限制较多、部署费事、没有合适的场景而放弃了。近期于无意中看到云函数支持容器作为运行时,环境完全可控,一下子来了兴趣。

由于本人最近在学习CV方面的知识,所以容器运行时支持GPU实例是最吸引我的一个点,参照官方文档 https://help.aliyun.com/document_detail/337825.html 部署了一个实例用于对图片做边缘检测,过程还挺顺利。

不过有几个点需要注意下:

Docker怎么快速拉取镜像

要快速拉取Docker镜像,可以采取以下几个步骤:

1. 选择合适的镜像仓库:Docker Hub 是公认最大的镜像仓库。但是,访问Docker Hub 速度可能会特别缓慢。因此,您可以选择容易和我们国内主机交互的国内的仓库,例如阿里云、网易云等。

2. 使用合适的镜像标签:一个镜像可以由多个版本组成,每个版本可以通过一个标签来识别。标签可以是版本号、代码名称等等,例如一个名为Ubuntu的镜像可以通过标签20.04或者18.04来识别版本。请确保您选择的标签是正确的,以获得最佳的性能和可靠性。

3. 使用快速的网络:拉取Docker镜像需要下载很大的数据量。所以,使用快速的网络连接可以加快下载速度。您可以选择使用有线网络,或者尽量减少Wi-Fi干扰。

4. 使用Docker官方提供的镜像加速:Docker 官方为中国地区提供了镜像加速器,可以大幅加快拉取镜像的速度。只需在Docker客户端配置中添加阿里云提供的加速地址即可。

Docker Desktop绑定端口失败的问题

Docker Dessktop会偶发绑定端口失败的,而端口明明没有被占用,偶尔还会频繁地出现这个问题,自己测试倒还罢了,如果用于生产环境,则是一大BUG。

这个问题我在Windows 10和11上都遇到过。

看网上有人说是由于开启了Hyper-V导致TCP动态端口范围被修改的事,使用`netsh int ipv4 show dynamicport tcp`查看,发现端口范围果真是以1024开头的。

Windows10使用一周感受

最近几年基本上都是在用Mac,已经习惯了macOS的操作方式,也享受了它简洁、专注的桌面环境所带来的高效。最近在想,如果我换工作了,新公司不给配Mac,那就只能用Windows,我能不能习惯呢?

所以就用了一周左右的Windows10,版本是最新的22H2,谈谈感受吧。

豫ICP备19001387号-1