web-dev-qa-db-ja.com

minikube docker-envの意味?

Kubernetes minikube tutorial には、Minikube Dockerデーモンを使用する次のコマンドがあります。

$ eval $(minikube docker-env)

このコマンドの正確な意味、つまりminikube docker-envはどういう意味ですか?

24
Rafa

コマンドminikube docker-envは、Minikubeインスタンス内でDockerデーモンを再利用するようにローカル環境を構成するための一連のBash環境変数エクスポートを返します。

この出力をevalに渡すと、bashはこれらのエクスポートを評価し、それらを有効にします。

評価ステップを省略し、minikube docker-envを直接実行することにより、シェルで実行される特定のコマンドを確認できます。ただし、これは構成を実行しません–出力をそのために評価する必要があります。


これは、minikube環境内で実行できるDockerイメージの構築と実行のエクスペリエンスを向上させることを目的としたワークフローの最適化です。 minikubeを効果的に使用するためにminikubeのDockerデーモンを再使用することは必須ではありませんが、そうすることでコードビルドテストサイクルの速度が大幅に向上します。

通常のワークフローでは、ホストマシン上にminikube内のDockerレジストリとは別のレジストリがあるため、minikube内でDockerイメージをビルドして実行するには次のプロセスが必要です。

  1. ホストマシンでDockerイメージをビルドします。
  2. ローカルマシンのイメージレジストリにビルドされたイメージに、リモートレジストリまたはminikubeインスタンスのレジストリでタグを付け直します。
  3. イメージをリモートレジストリまたはminikubeにプッシュします。
  4. (リモートレジストリを使用している場合)レジストリからイメージをプルするための適切な権限でminikubeを構成します。
  5. イメージを使用するには、minikubeで展開を設定します。

Minikube内でDockerレジストリを再利用すると、次のようになります。

  1. MinikubeのDockerインスタンスを使用してDockerイメージを構築します。これにより、イメージがMinikubeのDockerレジストリにプッシュされます。
  2. イメージを使用するには、minikubeで展開を設定します。

目的の詳細は minikube docs にあります。

22