|
1 | 1 | FROM php:8.2-apache |
| 2 | +RUN useradd nonroot |
2 | 3 | LABEL maintainer= "Mark Tompsett <[email protected]>" |
3 | 4 |
|
4 | 5 | ENV REFRESHED_AT 2023-07-12 |
5 | 6 |
|
6 | 7 | # Make sure apt has current list/updates |
| 8 | +USER root |
7 | 9 | RUN apt-get update -y \ |
8 | 10 | # Fix timezone stuff from hanging. |
9 | 11 | && echo "America/New_York" > /etc/timezone \ |
10 | | - && apt-get install -y tzdata \ |
| 12 | + && apt-get install -y --no-install-recommends tzdata \ |
11 | 13 | && apt-get upgrade -y \ |
12 | 14 | # Install |
13 | | - && apt-get install -y \ |
| 15 | + && apt-get install -y --no-install-recommends \ |
14 | 16 | # things needed for GoogleMock objects |
15 | 17 | sqlite3 \ |
16 | 18 | # some basics |
17 | 19 | unzip wget zip \ |
18 | 20 | # Clean up to reduce docker image size |
19 | 21 | && apt-get clean \ |
20 | | - && rm -rf /var/lib/apt/lists/* |
| 22 | + && rm -rf /var/lib/apt/lists/* \ |
| 23 | +# Make sure the directory we'll mount and reference is there |
| 24 | + && mkdir -p /data |
21 | 25 |
|
22 | | -RUN mkdir -p /data |
| 26 | +USER nonroot |
23 | 27 | WORKDIR /data |
24 | | -COPY ./ /data |
| 28 | +COPY actions-services.yml /data |
| 29 | +COPY composer-install.sh /data |
| 30 | +COPY composer.json /data |
| 31 | +COPY composer.lock /data |
| 32 | +COPY docker-compose.yml /data |
| 33 | +COPY Dockerfile /data |
| 34 | +COPY LICENSE /data |
| 35 | +COPY Makefile /data |
| 36 | +COPY README.md /data |
| 37 | +COPY run-tests.sh /data |
| 38 | +COPY .travis.yml /data |
| 39 | +COPY SilMock/ /data/SilMock |
25 | 40 |
|
26 | | -RUN cd /data && ./composer-install.sh |
27 | | -RUN mv /data/composer.phar /usr/bin/composer |
| 41 | +USER root |
| 42 | +# Make sure the development test files exist and have writable permissions |
| 43 | +RUN touch /data/SilMock/DataStore/Sqlite/Test1_Google_Service_Data.db && \ |
| 44 | + touch /data/SilMock/DataStore/Sqlite/Test2_Google_Service_Data.db && \ |
| 45 | + touch /data/SilMock/DataStore/Sqlite/Test3_Google_Service_Data.db && \ |
| 46 | + touch /data/SilMock/DataStore/Sqlite/Test4_Google_Service_Data.db && \ |
| 47 | + touch /data/SilMock/DataStore/Sqlite/Test5_Google_Service_Data.db && \ |
| 48 | + touch /data/SilMock/tests/.phpunit.result.cache && \ |
| 49 | + chown -R nonroot:root /data && \ |
| 50 | + chmod 664 /data/SilMock/DataStore/Sqlite/Test1_Google_Service_Data.db && \ |
| 51 | + chmod 664 /data/SilMock/DataStore/Sqlite/Test2_Google_Service_Data.db && \ |
| 52 | + chmod 664 /data/SilMock/DataStore/Sqlite/Test3_Google_Service_Data.db && \ |
| 53 | + chmod 664 /data/SilMock/DataStore/Sqlite/Test4_Google_Service_Data.db && \ |
| 54 | + chmod 664 /data/SilMock/DataStore/Sqlite/Test5_Google_Service_Data.db && \ |
| 55 | + chmod 664 /data/SilMock/tests/.phpunit.result.cache |
| 56 | + |
| 57 | +WORKDIR /data |
| 58 | +RUN ./composer-install.sh && mv /data/composer.phar /usr/bin/composer |
| 59 | +USER nonroot |
28 | 60 | RUN /usr/bin/composer install |
0 commit comments