Skip to content

Commit a842cd4

Browse files
committed
Pack Oracle Instant Client libs
1 parent 43ef0ea commit a842cd4

File tree

9 files changed

+60
-19
lines changed

9 files changed

+60
-19
lines changed

data/7.3-alpine/Dockerfile

+7-2
Original file line numberDiff line numberDiff line change
@@ -33,14 +33,19 @@ RUN IPE_GD_WITHOUTAVIF=1 install-php-extensions \
3333
xdebug \
3434
xsl \
3535
zip \
36-
&& rm /usr/bin/gs
36+
# remove Ghostscript binary, reduce Alpine image size by 23 MB, remove once https://github.com/mlocati/docker-php-extension-installer/issues/519 is fixed
37+
&& rm /usr/bin/gs \
38+
# pack Oracle Instant Client libs, reduce image size by 85 MB
39+
&& rm /usr/lib/oracle/*/client64/lib/*.jar && tar -czvf /usr/lib/oracle-pack.tar.gz -C /usr/lib/oracle . && rm -rf /usr/lib/oracle/* && mv /usr/lib/oracle-pack.tar.gz /usr/lib/oracle/pack.tar.gz \
40+
&& echo -e '#!/bin/sh\nif [ ! -d /usr/lib/oracle/*/client64 ]; then\n tar -xzf /usr/lib/oracle/pack.tar.gz -C /usr/lib/oracle && rm /usr/lib/oracle/pack.tar.gz\nfi' > /usr/lib/oracle/setup.sh && chmod +x /usr/lib/oracle/setup.sh
3741

3842
# install Composer
3943
RUN install-php-extensions @composer
4044

4145
FROM base as base__test
46+
RUN /usr/lib/oracle/setup.sh
4247
COPY test.php ./
43-
RUN php test.php && rm test.php
48+
RUN php test.php
4449
RUN composer diagnose
4550

4651

data/7.3-debian/Dockerfile

+6-2
Original file line numberDiff line numberDiff line change
@@ -33,14 +33,18 @@ RUN IPE_GD_WITHOUTAVIF=1 install-php-extensions \
3333
tidy \
3434
xdebug \
3535
xsl \
36-
zip
36+
zip \
37+
# pack Oracle Instant Client libs, reduce image size by 85 MB
38+
&& rm /usr/lib/oracle/*/client64/lib/*.jar && tar -czvf /usr/lib/oracle-pack.tar.gz -C /usr/lib/oracle . && rm -rf /usr/lib/oracle/* && mv /usr/lib/oracle-pack.tar.gz /usr/lib/oracle/pack.tar.gz \
39+
&& echo -e '#!/bin/sh\nif [ ! -d /usr/lib/oracle/*/client64 ]; then\n tar -xzf /usr/lib/oracle/pack.tar.gz -C /usr/lib/oracle && rm /usr/lib/oracle/pack.tar.gz\nfi' > /usr/lib/oracle/setup.sh && chmod +x /usr/lib/oracle/setup.sh
3740

3841
# install Composer
3942
RUN install-php-extensions @composer
4043

4144
FROM base as base__test
45+
RUN /usr/lib/oracle/setup.sh
4246
COPY test.php ./
43-
RUN php test.php && rm test.php
47+
RUN php test.php
4448
RUN composer diagnose
4549

4650

data/7.4-alpine/Dockerfile

+7-2
Original file line numberDiff line numberDiff line change
@@ -33,14 +33,19 @@ RUN IPE_GD_WITHOUTAVIF=1 install-php-extensions \
3333
xdebug \
3434
xsl \
3535
zip \
36-
&& rm /usr/bin/gs
36+
# remove Ghostscript binary, reduce Alpine image size by 23 MB, remove once https://github.com/mlocati/docker-php-extension-installer/issues/519 is fixed
37+
&& rm /usr/bin/gs \
38+
# pack Oracle Instant Client libs, reduce image size by 85 MB
39+
&& rm /usr/lib/oracle/*/client64/lib/*.jar && tar -czvf /usr/lib/oracle-pack.tar.gz -C /usr/lib/oracle . && rm -rf /usr/lib/oracle/* && mv /usr/lib/oracle-pack.tar.gz /usr/lib/oracle/pack.tar.gz \
40+
&& echo -e '#!/bin/sh\nif [ ! -d /usr/lib/oracle/*/client64 ]; then\n tar -xzf /usr/lib/oracle/pack.tar.gz -C /usr/lib/oracle && rm /usr/lib/oracle/pack.tar.gz\nfi' > /usr/lib/oracle/setup.sh && chmod +x /usr/lib/oracle/setup.sh
3741

3842
# install Composer
3943
RUN install-php-extensions @composer
4044

4145
FROM base as base__test
46+
RUN /usr/lib/oracle/setup.sh
4247
COPY test.php ./
43-
RUN php test.php && rm test.php
48+
RUN php test.php
4449
RUN composer diagnose
4550

4651

data/7.4-debian/Dockerfile

+6-2
Original file line numberDiff line numberDiff line change
@@ -33,14 +33,18 @@ RUN IPE_GD_WITHOUTAVIF=1 install-php-extensions \
3333
tidy \
3434
xdebug \
3535
xsl \
36-
zip
36+
zip \
37+
# pack Oracle Instant Client libs, reduce image size by 85 MB
38+
&& rm /usr/lib/oracle/*/client64/lib/*.jar && tar -czvf /usr/lib/oracle-pack.tar.gz -C /usr/lib/oracle . && rm -rf /usr/lib/oracle/* && mv /usr/lib/oracle-pack.tar.gz /usr/lib/oracle/pack.tar.gz \
39+
&& echo -e '#!/bin/sh\nif [ ! -d /usr/lib/oracle/*/client64 ]; then\n tar -xzf /usr/lib/oracle/pack.tar.gz -C /usr/lib/oracle && rm /usr/lib/oracle/pack.tar.gz\nfi' > /usr/lib/oracle/setup.sh && chmod +x /usr/lib/oracle/setup.sh
3740

3841
# install Composer
3942
RUN install-php-extensions @composer
4043

4144
FROM base as base__test
45+
RUN /usr/lib/oracle/setup.sh
4246
COPY test.php ./
43-
RUN php test.php && rm test.php
47+
RUN php test.php
4448
RUN composer diagnose
4549

4650

data/8.0-alpine/Dockerfile

+7-2
Original file line numberDiff line numberDiff line change
@@ -33,14 +33,19 @@ RUN IPE_GD_WITHOUTAVIF=1 install-php-extensions \
3333
xdebug \
3434
xsl \
3535
zip \
36-
&& rm /usr/bin/gs
36+
# remove Ghostscript binary, reduce Alpine image size by 23 MB, remove once https://github.com/mlocati/docker-php-extension-installer/issues/519 is fixed
37+
&& rm /usr/bin/gs \
38+
# pack Oracle Instant Client libs, reduce image size by 85 MB
39+
&& rm /usr/lib/oracle/*/client64/lib/*.jar && tar -czvf /usr/lib/oracle-pack.tar.gz -C /usr/lib/oracle . && rm -rf /usr/lib/oracle/* && mv /usr/lib/oracle-pack.tar.gz /usr/lib/oracle/pack.tar.gz \
40+
&& echo -e '#!/bin/sh\nif [ ! -d /usr/lib/oracle/*/client64 ]; then\n tar -xzf /usr/lib/oracle/pack.tar.gz -C /usr/lib/oracle && rm /usr/lib/oracle/pack.tar.gz\nfi' > /usr/lib/oracle/setup.sh && chmod +x /usr/lib/oracle/setup.sh
3741

3842
# install Composer
3943
RUN install-php-extensions @composer
4044

4145
FROM base as base__test
46+
RUN /usr/lib/oracle/setup.sh
4247
COPY test.php ./
43-
RUN php test.php && rm test.php
48+
RUN php test.php
4449
RUN composer diagnose
4550

4651

data/8.0-debian/Dockerfile

+6-2
Original file line numberDiff line numberDiff line change
@@ -33,14 +33,18 @@ RUN IPE_GD_WITHOUTAVIF=1 install-php-extensions \
3333
tidy \
3434
xdebug \
3535
xsl \
36-
zip
36+
zip \
37+
# pack Oracle Instant Client libs, reduce image size by 85 MB
38+
&& rm /usr/lib/oracle/*/client64/lib/*.jar && tar -czvf /usr/lib/oracle-pack.tar.gz -C /usr/lib/oracle . && rm -rf /usr/lib/oracle/* && mv /usr/lib/oracle-pack.tar.gz /usr/lib/oracle/pack.tar.gz \
39+
&& echo -e '#!/bin/sh\nif [ ! -d /usr/lib/oracle/*/client64 ]; then\n tar -xzf /usr/lib/oracle/pack.tar.gz -C /usr/lib/oracle && rm /usr/lib/oracle/pack.tar.gz\nfi' > /usr/lib/oracle/setup.sh && chmod +x /usr/lib/oracle/setup.sh
3740

3841
# install Composer
3942
RUN install-php-extensions @composer
4043

4144
FROM base as base__test
45+
RUN /usr/lib/oracle/setup.sh
4246
COPY test.php ./
43-
RUN php test.php && rm test.php
47+
RUN php test.php
4448
RUN composer diagnose
4549

4650

data/8.1-alpine/Dockerfile

+7-2
Original file line numberDiff line numberDiff line change
@@ -33,14 +33,19 @@ RUN IPE_GD_WITHOUTAVIF=1 install-php-extensions \
3333
xdebug \
3434
xsl \
3535
zip \
36-
&& rm /usr/bin/gs
36+
# remove Ghostscript binary, reduce Alpine image size by 23 MB, remove once https://github.com/mlocati/docker-php-extension-installer/issues/519 is fixed
37+
&& rm /usr/bin/gs \
38+
# pack Oracle Instant Client libs, reduce image size by 85 MB
39+
&& rm /usr/lib/oracle/*/client64/lib/*.jar && tar -czvf /usr/lib/oracle-pack.tar.gz -C /usr/lib/oracle . && rm -rf /usr/lib/oracle/* && mv /usr/lib/oracle-pack.tar.gz /usr/lib/oracle/pack.tar.gz \
40+
&& echo -e '#!/bin/sh\nif [ ! -d /usr/lib/oracle/*/client64 ]; then\n tar -xzf /usr/lib/oracle/pack.tar.gz -C /usr/lib/oracle && rm /usr/lib/oracle/pack.tar.gz\nfi' > /usr/lib/oracle/setup.sh && chmod +x /usr/lib/oracle/setup.sh
3741

3842
# install Composer
3943
RUN install-php-extensions @composer
4044

4145
FROM base as base__test
46+
RUN /usr/lib/oracle/setup.sh
4247
COPY test.php ./
43-
RUN php test.php && rm test.php
48+
RUN php test.php
4449
RUN composer diagnose
4550

4651

data/8.1-debian/Dockerfile

+6-2
Original file line numberDiff line numberDiff line change
@@ -33,14 +33,18 @@ RUN IPE_GD_WITHOUTAVIF=1 install-php-extensions \
3333
tidy \
3434
xdebug \
3535
xsl \
36-
zip
36+
zip \
37+
# pack Oracle Instant Client libs, reduce image size by 85 MB
38+
&& rm /usr/lib/oracle/*/client64/lib/*.jar && tar -czvf /usr/lib/oracle-pack.tar.gz -C /usr/lib/oracle . && rm -rf /usr/lib/oracle/* && mv /usr/lib/oracle-pack.tar.gz /usr/lib/oracle/pack.tar.gz \
39+
&& echo -e '#!/bin/sh\nif [ ! -d /usr/lib/oracle/*/client64 ]; then\n tar -xzf /usr/lib/oracle/pack.tar.gz -C /usr/lib/oracle && rm /usr/lib/oracle/pack.tar.gz\nfi' > /usr/lib/oracle/setup.sh && chmod +x /usr/lib/oracle/setup.sh
3740

3841
# install Composer
3942
RUN install-php-extensions @composer
4043

4144
FROM base as base__test
45+
RUN /usr/lib/oracle/setup.sh
4246
COPY test.php ./
43-
RUN php test.php && rm test.php
47+
RUN php test.php
4448
RUN composer diagnose
4549

4650

make.php

+8-3
Original file line numberDiff line numberDiff line change
@@ -98,15 +98,20 @@
9898
'xdebug',
9999
'xsl',
100100
'zip',
101-
]) . (/* reduce total size by 23 MB, remove once https://github.com/mlocati/docker-php-extension-installer/issues/519 is fixed */ $osName === 'alpine' ? ' \
102-
&& rm /usr/bin/gs' : '') . '
101+
]) . ($osName === 'alpine' ? ' \
102+
# remove Ghostscript binary, reduce Alpine image size by 23 MB, remove once https://github.com/mlocati/docker-php-extension-installer/issues/519 is fixed
103+
&& rm /usr/bin/gs' : '') . ' \
104+
# pack Oracle Instant Client libs, reduce image size by 85 MB
105+
&& rm /usr/lib/oracle/*/client64/lib/*.jar && tar -czvf /usr/lib/oracle-pack.tar.gz -C /usr/lib/oracle . && rm -rf /usr/lib/oracle/* && mv /usr/lib/oracle-pack.tar.gz /usr/lib/oracle/pack.tar.gz \
106+
&& echo -e \'#!/bin/sh\nif [ ! -d /usr/lib/oracle/*/client64 ]; then\n tar -xzf /usr/lib/oracle/pack.tar.gz -C /usr/lib/oracle && rm /usr/lib/oracle/pack.tar.gz\nfi\' > /usr/lib/oracle/setup.sh && chmod +x /usr/lib/oracle/setup.sh
103107
104108
# install Composer
105109
RUN install-php-extensions @composer
106110
107111
FROM base as base__test
112+
RUN /usr/lib/oracle/setup.sh
108113
COPY test.php ./
109-
RUN php test.php && rm test.php
114+
RUN php test.php
110115
RUN composer diagnose
111116
112117

0 commit comments

Comments
 (0)