настроил загруженный пакет с помощью ./configure, как полностью удалить его из centos - PullRequest
0 голосов
/ 20 декабря 2018

сделал следующее в setup.sh и создал образ docker

wget -qO- 
https://downloads.sourceforge.net/project/libpng/zlib/1.2.8/zlib-1.2.8.tar.gz | tar zvx
rm zlib-1.2.8.tar.gz
cd zlib-1.2.8
./configure
make
make install

в конце файла docker хотите удалить все двоичные файлы этого пакета, чтобы уменьшить размер docker, как это сделать

1 Ответ

0 голосов
/ 20 декабря 2018

Возможно, вы захотите запустить make uninstall после того, как вы сделали то, что вы хотите с этой библиотекой + удалить папку zlib-1.2.8.Ваш Dockerfile должен выглядеть следующим образом:

FROM    centos:7

RUN     ./setup.sh \
 &&     ./do_stuff_with_zlib.sh \
 &&     ./uninstall_zlib.sh

Сценарий uninstall_zlib.sh должен содержать:

#!/usr/bin/env sh

(cd zlib-1.2.8; make uninstall) # uninstall binaries
rm zlib-1.2.8                   # also remove folder to gain some space

Обратите внимание, что ./setup.sh и ./uninstall_zlib.sh должны выполняться в одном слое(та же директива RUN), в противном случае размер получаемого изображения не будет уменьшен (если только вы его не раздавите).

...