Error processing tar file(exit status 1): Unexpected EOF investigation and analysis

在 Jenkins 中构建镜像,报错:Error processing tar file(exit status 1): unexpected EOF。
1. Build an image in Jenkins and report an error: Error Processing tar file(exit status 1): unexpected EOF. as shown in Figure 1
在 Jenkins 中构建镜像,报错:Error processing tar file(exit status 1): unexpected EOF。
Figure 1


Step 10/10 : RUN chown -R nginx:nginx /mcloud/ &&     chmod 777 /mcloud/cmp_main/data &&     chmod 777 /usr/share/sync.sh &&     chmod 777 /mcloud/cmp_main/attachment &&     chmod +x /config/init/* &&     chmod +x /etc/nginx/conf.d/* &&     chmod +x /etc/supervisord.d/* &&     rm -rf /mcloud/cmp_main/data/tpl/ &&     rm -rf /etc/nginx/conf.d/status.conf
 ---> Running in 800972ee06bc
Error processing tar file(exit status 1): unexpected EOF
Build step 'Docker Build and Publish' marked build as failure
Finished: FAILURE


2. Check the Dockerfile, it should be that the number of the add command is too many, which leads to insufficient space. Reference URL: https://stackoverflow.com/questions/42784396/docker-e rror-error-processing-tar-fileexit-status-1-unexpected-eof . as shown in Figure 2
查看 Dockerfile ,应该是 ADD 命令的行数过多了一些,进而导致空间不足。
Figure 2


ADD code /mcloud/cmp_main
ADD code/build/c_files/ /
ADD code/build/sync.sh /usr/share/sync.sh
ADD code/build/cacheJsSDK.sh /usr/share/cacheJsSDK.sh
ADD code/build/MP_verify_3RUFnkMVef9eh3mJ.txt /mcloud/cmp_main/
ADD code/build/MP_verify_qxIMkC3go7fNqBzb.txt /mcloud/cmp_main/

RUN sed -i 's/allow_url_fopen = Off/allow_url_fopen = On/g' /usr/local/php/etc/php.ini && \
    sed -i 's/disable_functions = exec,system/disable_functions = system/g' /usr/local/php/etc/php.ini

RUN chown -R nginx:nginx /mcloud/ && \
    chmod 777 /mcloud/cmp_main/data && \
    chmod 777 /usr/share/sync.sh && \
    chmod 777 /mcloud/cmp_main/attachment && \
    chmod +x /config/init/* && \
    chmod +x /etc/nginx/conf.d/* && \
    chmod +x /etc/supervisord.d/* && \
    rm -rf /mcloud/cmp_main/data/tpl/ && \
    rm -rf /etc/nginx/conf.d/status.conf


3. Cut /build/sync.sh to /build/c_files/usr/share/sync.sh. Cut /build/cachejssdk.sh to /build/c_files/usr/share/cachejssdk.sh. Cut /build/mp_verify_3rufnkmvef9eh3mj.txt to /build/c_files/mcloud/cmp_main/mp_verify_3rufnkmvef9eh3mj.txt. Cut /build/mp_verify_qximkc3go7fnqbzb.txt to /build/c_files/mcloud/cmp_main/mp_verify_qximkc3go7fnqbzb.txt. Edit Dockerfile, deleted 4 lines of add. as shown in Figure 3
剪切 /build/sync.sh 至 /build/c_files/usr/share/sync.sh。剪切 /build/cacheJsSDK.sh 至 /build/c_files/usr/share/cacheJsSDK.sh。剪切 /build/MP_verify_3RUFnkMVef9eh3mJ.txt 至 /build/c_files/mcloud/cmp_main/MP_verify_3RUFnkMVef9eh3mJ.txt。剪切 /build/MP_verify_qxIMkC3go7fNqBzb.txt 至 /build/c_files/mcloud/cmp_main/MP_verify_qxIMkC3go7fNqBzb.txt。编辑 Dockerfile,删除了 4 行 ADD。
Figure 3


RUN sed -i 's/allow_url_fopen = Off/allow_url_fopen = On/g' /usr/local/php/etc/php.ini && \
    sed -i 's/disable_functions = exec,system/disable_functions = system/g' /usr/local/php/etc/php.ini

ADD code /mcloud/cmp_main
ADD code/build/c_files/ /

RUN chown -R nginx:nginx /mcloud/ && \
    chmod 777 /mcloud/cmp_main/data && \
    chmod 777 /usr/share/sync.sh && \
    chmod 777 /mcloud/cmp_main/attachment && \
    chmod +x /config/init/* && \
    chmod +x /etc/nginx/conf.d/* && \
    chmod +x /etc/supervisord.d/* && \
    rm -rf /mcloud/cmp_main/data/tpl/ && \
    rm -rf /etc/nginx/conf.d/status.conf


4. Build again, the first build will report an error: unknown parent image ID sha256:. But the second build was successful. as shown in Figure 4
再次构建,第一次构建报错:unknown parent image ID sha256:。不过第二次构建成功。
Figure 4
5. The mirror sizes before and after adjustment are: 4711 and 3882. Size reduced: 4711 – 3882 = 829. as shown in Figure 5
调整前后的镜像大小分别为:4711、3882。大小减少了:4711 - 3882 = 829。
Figure 5
6. Another possible reason is that the Dockerfile has just been greatly modified. In this case, it is recommended to build several times. In the end, it can still be built successfully.

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.