Skip to content

Commit 703ba52

Browse files
committed
Add simple initial entrypoint for supporting "docker run php --flags"
1 parent 35080cc commit 703ba52

4 files changed

+35
-8
lines changed

Dockerfile-alpine.template

+2-1
Original file line numberDiff line numberDiff line change
@@ -127,8 +127,9 @@ RUN set -xe \
127127
\
128128
&& apk del .build-deps
129129

130-
COPY docker-php-ext-* /usr/local/bin/
130+
COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/
131131

132+
ENTRYPOINT ["docker-php-entrypoint"]
132133
##<autogenerated>##
133134
CMD ["php", "-a"]
134135
##</autogenerated>##

Dockerfile-debian.template

+2-1
Original file line numberDiff line numberDiff line change
@@ -117,8 +117,9 @@ RUN set -xe \
117117
\
118118
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $buildDeps
119119

120-
COPY docker-php-ext-* /usr/local/bin/
120+
COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/
121121

122+
ENTRYPOINT ["docker-php-entrypoint"]
122123
##<autogenerated>##
123124
CMD ["php", "-a"]
124125
##</autogenerated>##

docker-php-entrypoint

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
#!/bin/sh
2+
set -e
3+
4+
# first arg is `-f` or `--some-option`
5+
if [ "${1#-}" != "$1" ]; then
6+
set -- php "$@"
7+
fi
8+
9+
exec "$@"

update.sh

+22-6
Original file line numberDiff line numberDiff line change
@@ -106,14 +106,20 @@ for version in "${versions[@]}"; do
106106
dockerfiles=()
107107

108108
{ generated_warning; cat Dockerfile-debian.template; } > "$version/Dockerfile"
109-
cp -v docker-php-ext-* "$version/"
110-
cp -v docker-php-source "$version/"
109+
cp -v \
110+
docker-php-entrypoint \
111+
docker-php-ext-* \
112+
docker-php-source \
113+
"$version/"
111114
dockerfiles+=( "$version/Dockerfile" )
112115

113116
if [ -d "$version/alpine" ]; then
114117
{ generated_warning; cat Dockerfile-alpine.template; } > "$version/alpine/Dockerfile"
115-
cp -v docker-php-ext-* "$version/alpine/"
116-
cp -v docker-php-source "$version/alpine/"
118+
cp -v \
119+
docker-php-entrypoint \
120+
docker-php-ext-* \
121+
docker-php-source \
122+
"$version/alpine/"
117123
dockerfiles+=( "$version/alpine/Dockerfile" )
118124
fi
119125

@@ -138,8 +144,11 @@ for version in "${versions[@]}"; do
138144
ia { ac++ }
139145
ia && ac == 1 { system("cat '$variant'-Dockerfile-block-" ab) }
140146
' "$base" > "$version/$target/Dockerfile"
141-
cp -v docker-php-ext-* "$version/$target/"
142-
cp -v docker-php-source "$version/$target/"
147+
cp -v \
148+
docker-php-entrypoint \
149+
docker-php-ext-* \
150+
docker-php-source \
151+
"$version/$target/"
143152
dockerfiles+=( "$version/$target/Dockerfile" )
144153
done
145154

@@ -155,6 +164,13 @@ for version in "${versions[@]}"; do
155164
"${dockerfiles[@]}"
156165
)
157166

167+
# update entrypoint commands
168+
for dockerfile in "${dockerfiles[@]}"; do
169+
cmd="$(awk '$1 == "CMD" { $1 = ""; print }' "$dockerfile" | tail -1 | jq --raw-output '.[0]')"
170+
entrypoint="$(dirname "$dockerfile")/docker-php-entrypoint"
171+
sed -i 's! php ! '"$cmd"' !g' "$entrypoint"
172+
done
173+
158174
newTravisEnv=
159175
for dockerfile in "${dockerfiles[@]}"; do
160176
dir="${dockerfile%Dockerfile}"

0 commit comments

Comments
 (0)