|
40 | 40 |
|
41 | 41 | echo "Slimming image: $SOURCE_IMAGE -> $TARGET_IMAGE (arch: $ARCH, lib: $LIB_ARCH)" |
42 | 42 |
|
43 | | -# use *--mount* volume so it starts with an empty PGDATA directory to initdb will be called and the components used for it will be perserved |
| 43 | +# use /tmp dir for data during build so it starts with an empty PGDATA directory to initdb will be called and the components used for it will be perserved |
44 | 44 | slim build --target "$SOURCE_IMAGE" \ |
45 | 45 | --tag "$TARGET_IMAGE" \ |
| 46 | + --include-new=false \ |
| 47 | + --env=PGROOT=/tmp/postgresql \ |
| 48 | + --env=PGDATA=/tmp/postgresql/data \ |
| 49 | + --env=PGLOG=/tmp/postgresql/pg_log \ |
| 50 | + --env=PGSOCKET=/tmp/postgresql \ |
| 51 | + --exclude-varlock-files=false \ |
46 | 52 | --http-probe=false \ |
47 | 53 | --continue-after=60 \ |
48 | | - --mount slim-pgdata:/var/lib/postgresql/data \ |
49 | 54 | --expose=5432 \ |
50 | 55 | --expose=8008 \ |
51 | 56 | --expose=8081 \ |
52 | | - --include-path=/usr/lib/postgresql \ |
| 57 | + --include-shell \ |
| 58 | + --include-bin=/bin/cat \ |
| 59 | + --include-bin=/bin/chmod \ |
| 60 | + --include-bin=/bin/cp \ |
| 61 | + --include-bin=/bin/du \ |
| 62 | + --include-bin=/bin/ln \ |
| 63 | + --include-bin=/bin/mkdir \ |
| 64 | + --include-bin=/bin/mv \ |
| 65 | + --include-bin=/bin/rm \ |
| 66 | + --include-bin=/bin/sleep \ |
| 67 | + --include-bin=/bin/touch \ |
| 68 | + --include-bin=/usr/bin/awk \ |
| 69 | + --include-bin=/usr/bin/basename \ |
| 70 | + --include-bin=/usr/bin/chown \ |
| 71 | + --include-bin=/usr/bin/cut \ |
| 72 | + --include-bin=/usr/bin/dirname \ |
| 73 | + --include-bin=/usr/bin/env \ |
| 74 | + --include-bin=/usr/bin/find \ |
| 75 | + --include-bin=/usr/bin/grep \ |
| 76 | + --include-bin=/usr/bin/head \ |
| 77 | + --include-bin=/usr/bin/id \ |
| 78 | + --include-bin=/usr/bin/less \ |
| 79 | + --include-bin=/usr/bin/locale \ |
| 80 | + --include-bin=/usr/bin/localedef \ |
| 81 | + --include-bin=/usr/bin/ls \ |
| 82 | + --include-bin=/usr/bin/mktemp \ |
| 83 | + --include-bin=/usr/bin/pg_isready \ |
| 84 | + --include-bin=/usr/bin/psql \ |
| 85 | + --include-bin=/usr/bin/sed \ |
| 86 | + --include-bin=/usr/bin/sort \ |
| 87 | + --include-bin=/usr/bin/tail \ |
| 88 | + --include-bin=/usr/bin/test \ |
| 89 | + --include-bin=/usr/bin/timescaledb-parallel-copy \ |
| 90 | + --include-bin=/usr/bin/timescaledb-tune \ |
| 91 | + --include-bin=/usr/bin/tr \ |
| 92 | + --include-bin=/usr/bin/wc \ |
| 93 | + --include-bin=/usr/bin/xargs \ |
| 94 | + --include-bin=/usr/lib/postgresql/17/bin/psql \ |
| 95 | + --include-path=/etc/alternatives \ |
| 96 | + --include-path=/run \ |
| 97 | + --include-path=/usr/bin/timescaledb-tune \ |
53 | 98 | --include-path=/usr/lib/${LIB_ARCH} \ |
| 99 | + --include-path=/usr/lib/postgresql \ |
| 100 | + --include-path=/usr/local/bin/timescaledb-tune \ |
54 | 101 | --include-path=/usr/share/postgresql \ |
55 | 102 | --include-path=/usr/share/postgresql-common \ |
56 | 103 | --include-path=/usr/share/proj \ |
57 | 104 | --include-path=/usr/share/gdal \ |
58 | 105 | --include-path=/usr/share/pgbouncer \ |
59 | 106 | --include-path=/usr/share/locales \ |
60 | 107 | --include-path=/usr/share/zoneinfo \ |
61 | | - --include-path=/etc/alternatives \ |
62 | | - --include-path=/usr/local/bin \ |
63 | | - --preserve-path=/var/lib/postgresql \ |
| 108 | + --include-path=/var \ |
64 | 109 | --preserve-path=/docker-entrypoint-initdb.d \ |
65 | | - --preserve-path=/or-entrypoint.sh \ |
66 | 110 | --preserve-path=/etc/postgresql \ |
67 | 111 | --preserve-path=/etc/ssl \ |
68 | | - --include-shell \ |
69 | | - --include-bin=/usr/bin/timescaledb-tune \ |
70 | | - --include-bin=/usr/bin/timescaledb-parallel-copy \ |
71 | | - --include-bin=/usr/bin/sort \ |
72 | | - --include-bin=/usr/bin/find \ |
73 | | - --include-bin=/usr/bin/xargs \ |
74 | | - --include-bin=/usr/bin/dirname \ |
75 | | - --include-bin=/usr/bin/basename \ |
76 | | - --include-bin=/usr/bin/head \ |
77 | | - --include-bin=/usr/bin/tail \ |
78 | | - --include-bin=/usr/bin/wc \ |
79 | | - --include-bin=/usr/bin/cut \ |
80 | | - --include-bin=/usr/bin/tr \ |
81 | | - --include-bin=/usr/bin/sed \ |
82 | | - --include-bin=/usr/bin/awk \ |
83 | | - --include-bin=/usr/bin/grep \ |
84 | | - --include-bin=/bin/cat \ |
85 | | - --include-bin=/bin/mv \ |
86 | | - --include-bin=/bin/mkdir \ |
87 | | - --include-bin=/bin/chmod \ |
88 | | - --include-bin=/bin/rm \ |
89 | | - --include-bin=/bin/du \ |
90 | | - --include-bin=/bin/cp \ |
91 | | - --include-bin=/bin/touch \ |
92 | | - --include-bin=/usr/bin/id \ |
93 | | - --include-bin=/usr/bin/env \ |
94 | | - --include-bin=/bin/sleep \ |
95 | | - --include-bin=/usr/bin/ls \ |
96 | | - --include-bin=/usr/bin/test \ |
97 | | - --include-bin=/usr/bin/psql \ |
98 | | - --include-bin=/usr/bin/pg_isready \ |
99 | | - --include-bin=/usr/bin/locale \ |
100 | | - --include-bin=/usr/bin/localedef \ |
101 | | - --include-bin=/usr/bin/less \ |
102 | | - --include-bin=/bin/ln \ |
103 | | - --include-bin=/usr/bin/chown |
104 | | - |
105 | | -# delete volume to always start with an empty PGDATA directory |
106 | | -docker volume rm slim-pgdata |
| 112 | + --preserve-path=/or-entrypoint.sh \ |
| 113 | + --preserve-path=/var/lib/postgresql |
107 | 114 |
|
108 | 115 | echo "Successfully created slimmed image: $TARGET_IMAGE" |
0 commit comments