由于之前 docker hub
中的那个 httpsqs
的镜像用起来实在是别扭,又没有文档。
每次使用还得进到容器里面看看参数是怎么配置。
于是自己花了一天,重新造了个轮子,且基于 alpine 构建。
docker-httpsqs 项目地址:https://github.com/ety001/docker-httpsqs
httpsqs 项目地址:https://code.google.com/archive/p/httpsqs
欢迎 star.
1
tinyproxy 2016-09-04 20:24:33 +08:00 via iPhone
你觉得配置麻烦,写一个 docker compose 模板完事,用得着这么麻烦么
|
3
notolddriver 2016-09-04 21:01:18 +08:00
不了解 alpine 不过确实好小啊。 貌似很适合用来当 docker 镜像?
dockerfile 里编译 居然不用像 centos 那样再安装 gcc 等库。。 |
6
ety001 OP @notolddriver 其实我是安装了的,你看 dockerfile 里那个 alpine-sdk 就是各种开发集成包,我先安装了下,然后编译完就卸载掉了。要不然光这个 alpine-sdk 也得小 200M 。
|
7
bobchengbin 2016-09-04 22:30:56 +08:00 1
刚才看了下 Dockerfile 应该还有压缩的空间
1. bash 应该不需要安装,貌似 alpine 默认提供了 ash 的 shell 。 2. zlib-dev bzip2-dev 这两个依赖在使用完之后是不是可以删除 参照 PHP 7 的 Dockerfile 他们还使用了 virtual 的概念用起来很爽,但是在官方的 wiki 我都没找着还有这么用的。 https://github.com/docker-library/php/blob/master/7.0/alpine/Dockerfile#L65 https://github.com/docker-library/php/blob/master/7.0/alpine/Dockerfile#L109 |
8
likuku 2016-09-04 23:00:47 +08:00
造福他人很好呀,可以节省他人很多时间
|
9
bclerdx 2016-09-04 23:13:58 +08:00
我擦,这是什么,没看到有什么作用, LZ 能解释一下嘛,谢谢!
|
10
ety001 OP @bobchengbin 恩, bash 的确可以删,我给漏掉了,不过 zlib-dev 和 bzip-dev 删掉后, httpsqs 启动貌似有问题,我没有再仔细的测试,所以就先带着了的说。 等有空再删掉测试下。你说的那个 virtual 等我明天仔细看看来,貌似很赞~
|
11
ety001 OP @bclerdx 这个是大神张宴开发一个轻量级的队列系统,处理些轻量级的任务还是不错的选择,详细内容请看这里: http://blog.zyan.cc/httpsqs/
|
12
WendellSun 2016-09-05 00:34:23 +08:00
@ety001 我之前试过一下,貌似删依赖项并不能减少镜像大小。
|
14
Nexvar 2016-09-05 02:49:07 +08:00 via Android
|
16
POP 2016-09-05 06:11:08 +08:00
怎么做镜像啊,求指点一下
|
17
loading 2016-09-05 06:48:03 +08:00 via Android
@POP 其实就是一个脚本。让 docker 去下一个系统镜像,然后在系统里运行一些你写好的脚本。
那些一键装 lnmp 的脚本,你应该知道吧。 Docker 就是多了一个下载基础系统的过程。 简单可以这样理解。 |
19
Havee 2016-09-05 10:47:09 +08:00 1
--no-cache 后,就没有必要再 --update-cache
--no-cache Read uncached index from network 显然,有了 --no-cache 就自动会先 apk update 这个参数就字面上来说,确实具有迷惑性,我以前也被迷惑过,偶尔的一次 apk --help 才发现 |
21
ety001 OP @bobchengbin 那个 virtual 参数的作用我查到了,是用来给一串安装包定义一个别名的,这样再操作的时候,直接输入别名就可以了。
|