1.6. kubedock でコンテナーを実行する


Kubedock は、OpenShift Dev Spaces ワークスペース内で Podman/docker のようなエクスペリエンスを提供する最小限のコンテナーエンジン実装です。Kubedock は、以下に示すユースケースのように、アドホックコンテナー、エフェメラルコンテナー、テストコンテナーを扱う場合に特に便利です。

  • Testcontainers フレームワークに依存するアプリケーションテストを実行します。
  • Quarkus Dev Services を使用します。
  • ローカル開発の目的で、リモートコンテナーレジストリーに保存されているコンテナーを実行します。
重要

kubedock で使用するイメージは、Openshift Container Platform のガイドライン に準拠している必要があります。そうしないと、同じイメージがローカルで問題なく実行されていても、kubedock でイメージを実行すると失敗します。

kubedock の有効化

kubedock 環境変数を有効にすると、kubedock は次の podman コマンドを実行します。

  • podman run
  • podman ps
  • podman exec
  • podman cp
  • podman logs
  • podman inspect
  • podman kill
  • podman rm
  • podman wait
  • podman stop
  • podman start

podman build などの他のコマンドは、ローカル Podman によって開始されます。

重要

kubedock で podman コマンドを使用する場合、以下の制限があります。

  • podman build -t <image> . && podman run <image> コマンドは失敗します。代わりに podman build -t <image> . && podman push <image> && podman run <image> を使用してください。
  • podman generate kube コマンドはサポートされません。
  • --env オプションを指定すると、podman run コマンドが失敗します。

前提条件

プロセス

  • KUBEDOCK_ENABLED=true 環境変数を devfile に追加します。

    • (オプション) KUBEDOCK_PARAM 変数を使用して、追加の kubedock パラメーターを指定します。変数のリストは ここから 入手できます。または、次のコマンドを使用して、使用可能なオプションを表示することもできます。

      # kubedock server --help

schemaVersion: 2.2.0
metadata:
  name: kubedock-sample-devfile
components:
  - name: tools
    container:
      image: quay.io/devfile/universal-developer-image:latest
      memoryLimit: 8Gi
      memoryRequest: 1Gi
      cpuLimit: "2"
      cpuRequest: 200m
      env:
        - name: KUBEDOCK_PARAMS
          value: "--reverse-proxy --kubeconfig /home/user/.kube/config --initimage quay.io/agiertli/kubedock:0.13.0"
        - name: USE_JAVA17
          value: "true"
        - value: /home/jboss/.m2
          name: MAVEN_CONFIG
        - value: -Xmx4G -Xss128M -XX:MetaspaceSize=1G -XX:MaxMetaspaceSize=2G
          name: MAVEN_OPTS
        - name: KUBEDOCK_ENABLED
          value: 'true'
        - name: DOCKER_HOST
          value: 'tcp://127.0.0.1:2475'
        - name: TESTCONTAINERS_RYUK_DISABLED
          value: 'true'
        - name: TESTCONTAINERS_CHECKS_DISABLE
          value: 'true'
      endpoints:
        - exposure: none
          name: kubedock
          protocol: tcp
          targetPort: 2475
        - exposure: public
          name: http-booster
          protocol: http
          targetPort: 8080
          attributes:
            discoverable: true
            urlRewriteSupported: true
        - exposure: internal
          name: debug
          protocol: http
          targetPort: 5005
      volumeMounts:
        - name: m2
          path: /home/user/.m2
  - name: m2
    volume:
      size: 10G

重要

コンテナーを実行するときは、kubedock 設定 CONTAINER_HOST=tcp://127.0.0.1:2475 または DOCKER_HOST=tcp://127.0.0.1:2475 を指すように Podman または docker API を設定する必要があります。

同時に、コンテナーを構築するときに、ローカル Podman を指すように Podman を設定する必要があります。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.