kubernetesポッドでDockerイメージを実行するにはどうすればよいですか?
私のチームメイトが新しいDockerイメージを定義し、それを私のチームのプライベートレジストリにプッシュしました。kubernetesクラスターで実行されているコードを所有しているので、コードを効果的に実行する必要がありますdocker run gcr.io/our-project/teammates-image:latest
。
kubernetesポッドでdocker-in-dockerを有効にすることを検討してきましたが、運がほとんどありません。私は現在実験を行ってminikube
おり、しようとすると次のようdocker run
になりますdocker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?.
。
私は追加しました securityContext: privileged: true
私のコンテナ仕様に。もっと設定が必要だと思いますが、何が必要かわかりません。
またkubectl run --image=gcr.io/our-project/teammates-image:lastest
、kubernetesポッド内から実行できるかどうかを評価しようとしています。
kubernetesポッド内からDockerイメージを実行する「正しい」方法はありますか?docker-in-dockerでイメージを実行するにはどうすればよいですか?
これは、将来これに遭遇する可能性のある人のために私が使用することになったソリューションです。
kubectl
他のDockerイメージを実行する必要があるメインのDockerイメージにインストールします。私はこれらのドキュメントに従ってこれを行いました。あなたがしたらkubectl
インストールし、自動的にそれがで実行していると、余分な認証を必要としないクラスタと対話することができるはずです。
次に、teammtes-image:latest
Dockerイメージを実行するには、Pythonで次のような操作を実行できます。
import subprocess subprocess.run(["kubectl"、 "run"、 "teammates-image"、 "--image"、 "gcr.io/our-project/teammates-image:lastest"、 "--attach"、 " --restart "、" Never "、" --rm "])
これは次のようになります。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加