旧バージョンのドキュメントを参照しています。
最新のドキュメントはこちらをご参照ください。
独自の Docker イメージをビルドする
Kong は、 DockerHubでホストされている公式 Docker イメージに加えて、ビルド済みの deb
、 rpm
パッケージとして配布されています。
Kong は、本番環境で使用するために Debian および RHEL イメージを構築および検証します。
Debian および RHEL イメージは、最小限の依存関係(Kong Gateway 3.0 時点)で構築され、公開される前に自動セキュリティスキャナーでスキャンします。サポートされているイメージで検出された脆弱性は、次に利用可能なパッチリリースで対処されます。
独自のイメージをビルドして、ベースイメージや依存関係をさらにカスタマイズしたい場合は、以下の手順に従ってください。
-
docker-kong
からdocker-entrypoint.shスクリプトをダウンロードし、実行可能にします。
chmod +x docker-entrypoint.sh
-
Kong Gateway パッケージをダウンロードします。
-
Dockerfile
を作成し、ファイル名の最初のCOPY
を、手順2でダウンロードしたKong Gatewayファイルの名前に置き換えます。
FROM debian:bullseye-slim
COPY kong.deb /tmp/kong.deb
RUN set -ex; \
apt-get update \
&& apt-get install --yes /tmp/kong.deb \
&& rm -rf /var/lib/apt/lists/* \
&& rm -rf /tmp/kong.deb \
&& chown kong:0 /usr/local/bin/kong \
&& chown -R kong:0 /usr/local/kong \
&& 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 \
&& kong version
COPY docker\-entrypoint.sh /docker\-entrypoint.sh
ユーザー Kong
ENTRYPOINT \["/docker\-entrypoint.sh"\]
EXPOSE 8000 8443 8001 8444 8002 8445 8003 8446 8004 8447
STOPSIGNAL SIGQUIT
HEALTHCHECK --interval=10s --timeout=10s --retries=10 CMD kong health
CMD \["kong", "docker\-start"\]
FROM ubuntu:22.04
COPY kong.deb /tmp/kong.deb
RUN set -ex; \
apt-get update \
&& apt-get install --yes /tmp/kong.deb \
&& rm -rf /var/lib/apt/lists/* \
&& rm -rf /tmp/kong.deb \
&& chown kong:0 /usr/local/bin/kong \
&& chown -R kong:0 /usr/local/kong \
&& 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 \
&& kong version
COPY docker\-entrypoint.sh /docker\-entrypoint.sh
ユーザー Kong
ENTRYPOINT \["/docker\-entrypoint.sh"\]
EXPOSE 8000 8443 8001 8444 8002 8445 8003 8446 8004 8447
STOPSIGNAL SIGQUIT
HEALTHCHECK --interval=10s --timeout=10s --retries=10 CMD kong health
CMD \["kong", "docker\-start"\]
FROM registry.access.redhat.com/ubi8/ubi:8.1
COPY kong.rpm /tmp/kong.rpm
RUN set -ex; \
yum install -y /tmp/kong.rpm \
&& rm /tmp/kong.rpm \
&& chown kong:0 /usr/local/bin/kong \
&& chown -R kong:0 /usr/local/kong \
&& 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 \
&& kong version
COPY docker\-entrypoint.sh /docker\-entrypoint.sh
ユーザー Kong
ENTRYPOINT \["/docker\-entrypoint.sh"\]
EXPOSE 8000 8443 8001 8444 8002 8445 8003 8446 8004 8447
STOPSIGNAL SIGQUIT
HEALTHCHECK --interval=10s --timeout=10s --retries=10 CMD kong health
CMD \["kong", "docker\-start"\]
-
イメージをビルドします。
docker build --platform linux/amd64 --no-cache -t kong-image .
-
イメージが正しくビルドされたことをテストします。
docker run -it --rm kong-image kong version
-
Kong Gatewayを実行してトラフィックを処理するには、 Docker インストール手順に従い、イメージ名をカスタム名に置き換えます。