Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。 在Linux中镜像往往非常大,但是使用Docker镜像是以个例外。使用Linux Docker制作的镜像,小的可能只有几M。本文就来介绍一下在Linux系统中如何使Docker镜像变小的方法。
传统的镜像写法: FROM ubuntu:12.04 RUN apt-get update RUN apt-get install -y nginx zip curl RUN echo “daemon off;” 》》 /etc/nginx/nginx.conf RUN curl -o /usr/share/nginx/www/master.zip -L https://codeload.github.com/gabrielecirulli/2048/zip/master RUN cd /usr/share/nginx/www/ && unzip master.zip && mv 2048-master/* 。 && rm -rf 2048-master master.zip EXPOSE 80 CMD [“/usr/sbin/nginx”, “-c”, “/etc/nginx/nginx.conf”] Linux使Docker镜像变小的方法 基于ubuntu12.04,先来一个更新,然后安装nginx、zip、curl,配置nginx,下载2048代码,解压再放到指定位置,删除原始文件,抛出80端口,最后是执行命令。 这样的dockerfile再熟悉不过了吧,随便docker hub或者其他教学文档都是这样,接下来,我们来谈谈中间的毛病。 1、pull一个ubuntu需要多少时间,占多大的空间?(初学者好多在这一步就头痛)2、ubuntu在没有添加中国镜像源的情况,更新是个多么痛苦的事?3、配置 4、整个生成的镜像硕大无比,玩个2048不需要这么复杂。 光提问题,不给解决方案就是耍流氓,还是看dockerfile: FROM alpine:latest MAINTAINER alex alexwhen@gmail.com RUN apk --update add nginx COPY 。 /usr/share/nginx/html EXPOSE 80 CMD [“nginx”, “-g”, “daemon off;”] 极简化的利用dockerfile和base镜像和github的特性,能少一句就少一句,动动手试一下,这样build出来,整个镜像不超过10M,回过头来看看前面的镜像,光一个ubuntu得多大啊,实在是居家必备。 以上就是在Linux系统中如何使Docker镜像变小的方法介绍了,Linux镜像越小占用空间就越少,而且安装就更快。 Linux是一套免费使用和自由传播的类Unix操作系统 |
温馨提示:喜欢本站的话,请收藏一下本站!