GNU/Linux >> Linux の 問題 >  >> Linux

Minikube でローカル docker イメージを使用するには?

注:

  • この回答は minikube に限定されたものではありません!

  • minikube の Docker でレジストリを作成する場合 次に eval $(minikube docker-env) を実行します まず (docker にするため) ホスト マシンの端末で使用できます)。
    それ以外の場合は、minikube ssh 経由で仮想マシンに入ります 、次の手順に進みます

  • オペレーティング システムに応じて、minikube は自動的にホームパスを VM にマウントします。

  • Eli が述べたように、http を使用するには、ローカル レジストリを安全でないものとして追加する必要があります (localhost を使用する場合は適用されない可能性がありますが、ローカル ホスト名を使用する場合は適用されます)。
    本番環境では http を使用しないでください。セキュリティを確保するために努力してください。

ローカル レジストリを使用する:

docker run -d -p 5000:5000 --restart=always --name local-registry registry:2

画像に適切にタグを付けます:

docker tag ubuntu localhost:5000/ubuntu

localhost は、レジストリ コンテナーを実行しているマシンの dns 名に変更する必要があることに注意してください。

イメージをローカル レジストリにプッシュします。

docker push localhost:5000/ubuntu

引き戻せるはずです:

docker pull localhost:5000/ubuntu

ここで、ローカル レジストリを使用するように yaml ファイルを変更します。

レジストリにイメージを永続化するために、適切な場所にボリュームをマウントすることを検討してください。


ハンドブックに記載されているように、Minikube の Docker デーモンを eval $(minikube docker-env) で再利用できます。 .

画像をアップロードせずに使用するには、次の手順に従います。

<オール>
  • eval $(minikube docker-env) で環境変数を設定します
  • Minikube の Docker デーモンを使用してイメージをビルドします (例:docker build -t my-image . )
  • ビルドタグのように Pod 仕様にイメージを設定します (例:my-image )
  • imagePullPolicy を設定します Never へ 、それ以外の場合、Kubernetes はイメージのダウンロードを試みます。
  • 重要な注意: eval $(minikube docker-env) を実行する必要があります これは、現在のシェル セッションの環境変数のみを設定するためです。


    @svenwltr による解決策に基づいて、私にとって何がうまくいったか:

    # Start minikube
    minikube start
    
    # Set docker env
    eval $(minikube docker-env)             # unix shells
    minikube docker-env | Invoke-Expression # PowerShell
    
    # Build image
    docker build -t foo:0.0.1 .
    
    # Run in minikube
    kubectl run hello-foo --image=foo:0.0.1 --image-pull-policy=Never
    
    # Check that it's running
    kubectl get pods
    

    Linux
    1. Dockerイメージ、コンテナー、およびDockerファイルを詳細に使用する方法

    2. DockerComposeの使用方法

    3. Dockerイメージを他の人と共有する方法

    1. DockerInspectコマンドの使用方法

    2. Dockerイメージを変更する方法

    3. プロキシを使用するように docker を構成する方法

    1. libvirtでVagrantを使用する方法

    2. Linux 上の Python で export を使用する方法

    3. docker logs コマンドで --since オプションを使用する方法