簡體   English   中英

如何從 docker 容器連接到 minikube 集群?

[英]How to connect to a minikube cluster from a docker container?

我有一個正在運行的minikube集群。 我可以輕松地連接到它並使用kubectl應用更改。 但我想從 docker 容器運行kubectl 這是 Dockerfile:

FROM alpine:latest

RUN apk --no-cache add curl

# Install and configure kubectl
RUN curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
RUN mkdir -p ~/.local/bin/kubectl
RUN mv ./kubectl ~/.local/bin/kubectl
RUN chmod +x ~/.local/bin/kubectl/ -R

它基本上是一個安裝了kubectl的簡單alpine映像。

如何從這個容器連接到我的minikube集群?

我不得不將~/.kube~/.minikube文件夾復制到圖像中。 這是新的 Dockerfile:

FROM alpine:latest

RUN apk --no-cache add curl

# Install and configure kubectl
RUN curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
RUN mkdir -p ~/.local/bin/kubectl
RUN mv ./kubectl ~/.local/bin/kubectl
COPY .kube /root/.kube
COPY .minikube /root/.minikube
RUN chmod +r ~/.kube/config
RUN chmod +x ~/.local/bin/kubectl/ -R
WORKDIR /root/.local/bin/kubectl/

您可以像這樣使用圖像:

docker build . -t USERNAME/kubectl:latest
docker run USERNAME/kubectl:latest ./kubectl get pods

注意力

.kube/config文件是為主機系統創建的。 因此,您需要更改.kube/config文件中的一些路徑以指向容器中的.minikube文件夾。

另請注意

~/.minikube~/.kube是巨大的文件夾。 將它們添加到您的 docker 構建上下文中可能會使您的構建變得非常緩慢。

您可能需要為此目的安裝卷。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM