无服务器架构的Docker镜像数据分析应用
近期对Docker镜像做了些数据分析,这里分享一下利用云原生技术快速且低成本的实现任意数量的数据分析。 之前通过文章介绍了不用拉取Docker镜像就可获取镜像的大小的一种方法,通过其中的示例脚本,我们可以获取到待分析的原始数据。 比如nginx镜像的部分原始数据(csv格式)如下, 1 2 3 4 5 6 7 8 9 10 11 12 …
Read MoreRecently I had a requirement to stats the size of some Docker images. It would be waste if pulling them all firstly then calculating the size of each image. Also you know the docker image consists of some Docker layers that probably are shared by other images. It's hard to get the disk usage if only sum the size of …
Read MoreSwarm mode在Docker v1.12中正式发布,Swarm mode带来了诸如Docker集群,容器编排,多主机网络等激动人心的特性。V秘团队也尝试着将各种后台服务部署到Docker Swarm Cluster获取更好的弹性计算能力。 Docker v1.12中正式发布的Docker Swarm在我们实用中发现仍有不少不足之处,让我们一一分享给大家。 无法将服务的published端口只绑定到特点的网卡上。比如我们的云主机(同时也是Swarm manager/node)有eth0和eth1两块网卡,分别连接内网和外网。我们计划在Docker Swarm中运行一个nginx服务,通过80/443端口提供HTTP/HTTPS服 …
Read MoreV秘团队一直致力于用技术改善产品。V秘后台的各种服务一直是通过完善的Devops流程自动部署到Docker容器集群。随着Swarm mode在Docker v1.12中正式发布,Swarm mode带来了诸如Docker集群,多主机网络等激动人心的特性。我们也在尝试将V秘服务部署到Docker Swarm Cluster获取更好的弹性计算能力。 然而我们将V秘的服务部署到Docker Swarm Cluster时遇到服务容器无法启动的错误。错误信息类似如下, starting container failed: could not add veth pair inside the network sandbox: could not …
Read More最近在提交前端代码后,前端代码的自动发布老是失败。失败的原因多是编译Docker镜像时在执行COPY语句拷贝文件到镜像文件系统时,扔出了'No space left on device'这个错误。这个错误根据描述非常好理解,就是docker文件系统所在磁盘没有了空间。 但是通过df -h命令,该磁盘至少还有3,4个G的剩余空间。而前端镜像的文件大小最多也不超过300M。在该磁盘通过touch,cp仍然可以创建文件。 所以这个问题非常奇怪,为什么docker或者操作系统抱怨磁盘没有了空间?在磁盘仍然剩余数个G的情况下? 再通过相关的查找后,docker的这个issue给了我启发。Linux文件系统的inode在耗尽后,该文件系统将不能 …
Read MoreRecently I wrote a Linux like initd script to start/stop my web application. The script works well when running it in shell of linux. The web application will run in background by daemon. However I found both daemon and web application(java) exited immediately if I started the script in Jenkins as a shell step of build …
Read More