69 lines
2.3 KiB
Docker
69 lines
2.3 KiB
Docker
FROM alpine:3.16
|
|
|
|
LABEL maintainer="Kong <support@konghq.com>"
|
|
|
|
ARG ASSET=ce
|
|
ENV ASSET $ASSET
|
|
|
|
ARG EE_PORTS
|
|
|
|
# hadolint ignore=DL3010
|
|
COPY kong.tar.gz /tmp/kong.tar.gz
|
|
|
|
ARG KONG_VERSION=2.8.1
|
|
ENV KONG_VERSION $KONG_VERSION
|
|
|
|
ARG KONG_AMD64_SHA="ccda33bf02803b6b8dd46b22990f92265fe61d900ba94e3e0fa26db0433098c0"
|
|
ARG KONG_ARM64_SHA="d21690332a89adf9900f7266e083f41f565eb009f2771ef112f3564878eeff53"
|
|
|
|
# hadolint ignore=DL3018
|
|
RUN set -eux; \
|
|
arch="$(apk --print-arch)"; \
|
|
case "${arch}" in \
|
|
x86_64) arch='amd64'; KONG_SHA256=$KONG_AMD64_SHA ;; \
|
|
aarch64) arch='arm64'; KONG_SHA256=$KONG_ARM64_SHA ;; \
|
|
esac; \
|
|
if [ "$ASSET" = "ce" ] ; then \
|
|
apk add --no-cache --virtual .build-deps curl wget tar ca-certificates \
|
|
&& curl -fL "https://download.konghq.com/gateway-${KONG_VERSION%%.*}.x-alpine/kong-$KONG_VERSION.$arch.apk.tar.gz" -o /tmp/kong.tar.gz \
|
|
&& echo "$KONG_SHA256 /tmp/kong.tar.gz" | sha256sum -c - \
|
|
&& apk del .build-deps; \
|
|
else \
|
|
# this needs to stay inside this "else" block so that it does not become part of the "official images" builds (https://github.com/docker-library/official-images/pull/11532#issuecomment-996219700)
|
|
apk upgrade; \
|
|
fi; \
|
|
mkdir /kong \
|
|
&& tar -C /kong -xzf /tmp/kong.tar.gz \
|
|
&& mv /kong/usr/local/* /usr/local \
|
|
&& mv /kong/etc/* /etc \
|
|
&& rm -rf /kong \
|
|
&& apk add --no-cache libstdc++ libgcc openssl pcre perl tzdata libcap zip bash zlib zlib-dev git ca-certificates \
|
|
&& adduser -S kong \
|
|
&& addgroup -S kong \
|
|
&& mkdir -p "/usr/local/kong" \
|
|
&& chown -R kong:0 /usr/local/kong \
|
|
&& chown kong:0 /usr/local/bin/kong \
|
|
&& chmod -R g=u /usr/local/kong \
|
|
&& rm -rf /tmp/kong.tar.gz \
|
|
&& ln -s /usr/local/openresty/bin/resty /usr/local/bin/resty \
|
|
&& ln -s /usr/local/openresty/luajit/bin/luajit /usr/local/bin/luajit \
|
|
&& ln -s /usr/local/openresty/luajit/bin/luajit /usr/local/bin/lua \
|
|
&& ln -s /usr/local/openresty/nginx/sbin/nginx /usr/local/bin/nginx \
|
|
&& if [ "$ASSET" = "ce" ] ; then \
|
|
kong version; \
|
|
fi
|
|
|
|
COPY docker-entrypoint.sh /docker-entrypoint.sh
|
|
|
|
USER kong
|
|
|
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|
|
|
|
EXPOSE 8000 8443 8001 8444 $EE_PORTS
|
|
|
|
STOPSIGNAL SIGQUIT
|
|
|
|
HEALTHCHECK --interval=10s --timeout=10s --retries=10 CMD kong health
|
|
|
|
CMD ["kong", "docker-start"]
|