卧槽!我写的 Docker 镜像下载量居然突破了一百万...

2024-05-15 12:18

本文主要是介绍卧槽!我写的 Docker 镜像下载量居然突破了一百万...,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

这是「进击的Coder」的第 365 篇技术分享

作者:崔庆才

来源:崔庆才丨静觅

阅读本文大概需要 6 分钟。

今天还是照常逛 GitHub,看到了之前写的一个代理池(https://github.com/Python3WebSpider/ProxyPool)项目的一条 Issue,他问我有没有构建好的代理池 Docker 镜像。

这个自然是有的,我之前构建好了放在 Docker Hub 了,准备顺手找找发一下给他。

然后我就打开了 Docker Hub 搜了一下,proxypool,结果你猜怎么着。

第一条结果就是我写的那个镜像,如图所示:

排名居然是第一位。

然后我又看了下下载量,这个数让我震惊了。。。

1M+

一百万?我写的这个镜像在全球已经有一百万次使用了...

这着实让我震惊了一把,我没看错吧,当时瞬间懵了,迟疑了一下,问我自己:M 是百万的意思吧?

我还确认了下第二名是 10K,是一万,我的排名比他高,那应该就是了。

有人可能好奇我是这么做到这么高的,这个我真不知道,我本来以为几千次下载就差不多了,因为 GitHub 上这个项目是 2.2k,所以我觉得是不是有人误操作帮我刷量了?或许吧。

毕竟 Nginx 才 10M+:

不过据我观察,10M+ 应该是封顶,最多就显示这么多,没准可能它已经 10T+ 了呢?

算了不管了,心里就小欢喜一下吧哈哈。

另外有的朋友可能不太懂这个,想知道我写的究竟是个啥,这里就顺便再介绍下啦。

这就是个代理池,可以一键运行从网上抓取一些 HTTP 代理 IP,可以供爬虫伪装 IP 使用。

我写的这个代理池有这些功能:

  • 定时抓取免费代理网站,简易可扩展。

  • 使用 Redis 对代理进行存储并对代理可用性进行排序。

  • 定时测试和筛选,剔除不可用代理,留下可用代理。

  • 提供代理 API,随机取用测试通过的可用代理。

使用也非常简单,新建一个 docker-compose.yaml 文件,内容如下:

version: '3'
services:redis4proxypool:image: redis:alpinecontainer_name: redis4proxypoolcommand: redis-serverports:- "6379:6379"proxypool:image: 'germey/proxypool'container_name: proxypoolports:- "5555:5555"restart: alwaysenvironment:REDIS_HOST: redis4proxypool

然后使用 Docker-Compose 即可运行:

docker-compose up

运行结果类似如下:

redis        | 1:M 19 Feb 2020 17:09:43.940 * DB loaded from disk: 0.000 seconds
redis        | 1:M 19 Feb 2020 17:09:43.940 * Ready to accept connections
proxypool    | 2020-02-19 17:09:44,200 CRIT Supervisor is running as root.  Privileges were not dropped because no user is specified in the config file.  If you intend to run as root, you can set user=root in the config file to avoid this message.
proxypool    | 2020-02-19 17:09:44,203 INFO supervisord started with pid 1
proxypool    | 2020-02-19 17:09:45,209 INFO spawned: 'getter' with pid 10
proxypool    | 2020-02-19 17:09:45,212 INFO spawned: 'server' with pid 11
proxypool    | 2020-02-19 17:09:45,216 INFO spawned: 'tester' with pid 12
proxypool    | 2020-02-19 17:09:46,596 INFO success: getter entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
proxypool    | 2020-02-19 17:09:46,596 INFO success: server entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
proxypool    | 2020-02-19 17:09:46,596 INFO success: tester entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)

可以看到 Redis、Getter、Server、Tester 都已经启动成功。

这时候访问 http://localhost:5555/random 即可获取一个随机可用代理。

在项目里面只需要请求这个 API,然后解析网页返回结果获取到代理就能直接用了。

关于详细的原理大家可以参考我的这篇文章:https://cuiqingcai.com/7048.html

详细的使用方法可以看项目的 README:https://github.com/Python3WebSpider/ProxyPool

欢迎大家试用提宝贵意见哈,感谢!

End

「进击的Coder」专属学习群已正式成立,搜索「CQCcqc4」添加崔庆才的个人微信或者扫描下方二维码拉您入群交流学习。

看完记得关注@进击的Coder

及时收看更多好文

↓↓↓

点个在看你最好看

这篇关于卧槽!我写的 Docker 镜像下载量居然突破了一百万...的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/991810

相关文章

如何突破底层思维方式的牢笼

我始终认为,牛人和普通人的根本区别在于思维方式的不同,而非知识多少、阅历多少。 在这个世界上总有一帮神一样的人物存在。就像读到的那句话:“人类就像是一条历史长河中的鱼,只有某几条鱼跳出河面,看到世界的法则,但是却无法改变,当那几条鱼中有跳上岸,进化了,改变河道流向,那样才能改变法则。”  最近一段时间一直在不断寻在内心的东西,同时也在不断的去反省和否定自己的一些思维模式,尝试重

Ubuntu20.04离线安装Docker

1.下载3个docker离线安装包,下载网址: https://download.docker.com/linux/ubuntu/dists/xenial/pool/stable/amd64/ 2.把3个离线安装包拷贝到ubuntu本地执行以下命令 sudo dpkg -i containerd.io_1.4.6-1_amd64.deb sudo dpkg -i docker-ce-c

利用Frp实现内网穿透(docker实现)

文章目录 1、WSL子系统配置2、腾讯云服务器安装frps2.1、创建配置文件2.2 、创建frps容器 3、WSL2子系统Centos服务器安装frpc服务3.1、安装docker3.2、创建配置文件3.3 、创建frpc容器 4、WSL2子系统Centos服务器安装nginx服务 环境配置:一台公网服务器(腾讯云)、一台笔记本电脑、WSL子系统涉及知识:docker、Frp

Docker启动异常

报错信息: failed to start daemon: Error initializing network controller: error creating default "bridge" network: cannot create network b8fd8c684f0ba865d4a13d36e5282fd694bbd37b243c7ec6c9cd29416db98d4b (d

手把手教你入门vue+springboot开发(五)--docker部署

文章目录 前言一、前端打包二、后端打包三、docker运行总结 前言 前面我们重点介绍了vue+springboot前后端分离开发的过程,本篇我们结合docker容器来研究一下打包部署过程。 一、前端打包 在VSCode的命令行中输入npm run build可以打包前端代码,出现下图提示表示打包完成。 打包成功后会在前端工程目录生成dist目录,如下图所示: 把

Docker Compose--安装Nginx--方法/实例

原文网址:Docker Compose--安装Nginx--方法/实例_IT利刃出鞘的博客-CSDN博客 简介 说明 本文介绍Docker Compose如何安装Nginx。 目录结构 ├── config│   ├── cert│   │   ├── xxx_bundle.pem│   │   └── xxx.key│   ├── conf.d│   └── nginx.co

云原生容器技术入门:Docker、K8s技术的基本原理和用途

🐇明明跟你说过:个人主页 🏅个人专栏:《未来已来:云原生之旅》🏅 🔖行路有良友,便是天堂🔖 目录 一、容器技术概述 1、什么是容器技术 2、容器技术的历史与发展 3、容器技术与虚拟机的比较 4、容器技术在云原生中的作用 二、Docker基础 1、Docker简介 2、Docker架构 3、Docker与工作原理 三、Kubernetes(k8s)基础 1、

【Docker】Docker操作镜像命令

1. 列出本地镜像 # 列出本地所有镜像 docker images 2. 拉取镜像 # 从 Docker Hub 或其他仓库拉取镜像 docker pull [OPTIONS] NAME[:TAG|@DIGEST] # 示例:拉取名为 ubuntu 的镜像,标签为 latest docker pull ubuntu:latest 3. 搜索镜像 # 在 Docker Hu

docker 问题记录以及解决方法

1、windows 7安装docker 需要下载 Docker Toolbox才能安装,刚开始下载了Docker Desktop Installer.exe 点击安装没反应,后来查找资料才知道windows 7需要Docker Toolbox才能安装,官网显示windows10才可以安装Docker Desktop Installer.exe但是就算是widnows10 也是有版本限制的。 2、

Docker配置与使用

Docker配置与使用 目录: 简介 安装Docker 基本命令 镜像管理 容器管理 数据卷管理 网络管理 Dockerfile编写 示例:搭建一个简单的Web应用 简介 Docker是一个开源的应用容器引擎,可以让开发者将应用程序及其依赖环境打包到一个可移植的容器中,然后发布到任何支持Docker的平台上。Docker可以解决环境一致性问题,提高开发、部署和运维的效率。