本站文章总数为:165
Search Posts

Dockerfile编写注意事项

内容纲要

RUN安装东西放在一行一起安装,分行安装将导致镜像大小爆增

例如示例一个dockerfile

FROM centos:7
#作者
MAINTAINER qiuf<qiufuzi@gmail.com>
RUN yum -y install dos2unix mysql net-tools rsync vim kde-l10n-Chinese
RUN mkdir -p /usr/local/java&&mkdir -p /usr/local/share/java/&&mkdir -p /gldata1/server/lv2
ADD jdk-8u202-linux-x64.tar.gz /usr/local/java
ADD lib.tar.gz /usr/local/lib
ADD zmq.tar.gz /usr/local/share/java/
ADD lv2 /gldata1/server/lv2/
ADD start.sh /
ENV JAVA_HOME=/usr/local/java/jdk1.8.0_202
ENV CLASSPATH=.:\$JAVA_HOME/lib/dt.jar:\$JAVA_HOME/lib/tools.jar
ENV PATH $JAVA_HOME/bin:$PATH
ENV LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
RUN ldconfig
#设置时区
ENV TIME_ZONE Asia/Tokyo
RUN ln -snf /usr/share/zoneinfo/$TIME_ZONE /etc/localtime
#设置中文支持
RUN localedef -c -f UTF-8 -i zh_CN zh_CN.utf8
RUN echo LANG= " zh_CN.UTF-8 " >>/etc/locale.conf
ENV LC_ALL=zh_CN.UTF-8

如上构建镜像大小为1.09G
我当时分开写的

yum -y install dos2unix mysql net-tools 
yum -y rsync 
yum -y vim 
yum -y kde-l10n-Chinese

docker镜像是一层一层叠加的,安装一次查询安装一次,最后镜像大小1.7G,离谱….. 我docker commit构建是1.19G
当时想着写dockerfile部署环境 能减少一半体积 看来还是不行 ,但是起码少了100m不是么
还有构建新手注意 最后的那个空格加点

docker build -t test:0.0.1 .

不然报

"docker build" requires exactly 1 argument(s).
See 'docker build --help'.

Usage:  docker build [OPTIONS] PATH | URL | -

Build an image from a Dockerfile

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注