首页 > 解决方案 > 如何在 docker 中运行简单的 minikube?

问题描述

我正在尝试按照本指南上的说明进行操作,但在 docker 下。

我设置了一个文件夹:

.
├── Dockerfile
└── main.py
0 directories, 2 files

main.py是:

#!/usr/bin/env python3

print("Docker is magic!")

Dockerfile 是:

FROM python:latest
COPY main.py /
CMD [ "python", "./main.py" ]

FROM python:3.7-alpine
COPY ./ /usr/src/app/
WORKDIR /usr/src/app
RUN apk add curl openssl bash --no-cache
RUN curl -LO "https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl" \
    && chmod +x ./kubectl \
    && mv ./kubectl /usr/local/bin/kubectl


kubectl create deployment hello-node --image=k8s.gcr.io/echoserver:1.4

kubectl expose deployment hello-node --type=LoadBalancer --port=38080

minikube start --driver=docker

kubectl get pods

当我运行 docker run python-test 时,我在终端中看到:

Docker is magic!

但我没有看到 get pods 输出。

我的目标是minikube在 docker 中运行一个简单的打印 pod 列表的程序。这里有什么问题?

标签: dockerkubernetesminikube

解决方案


如果你想在 docker 容器中使用 kubernetes,我的建议是使用 k3d 。

k3d 是在 docker.k3d 中运行 k3s(Rancher Lab 的最小 Kubernetes 发行版)的轻量级包装器,使得在 docker 中创建单节点和多节点 k3s 集群变得非常容易,例如在 Kubernetes 上进行本地开发。

您可以通过 Docker 直接下载、安装和使用它。有关更多信息,您可以关注来自https://k3d.io/的官方文档。

要获取 pod 列表,您不需要在 docker 容器内创建 k8s 集群。您需要的是任何 k8s 集群的配置文件。├── Dockerfile ├-- config └── main.py 0个目录,3个文件

在那之后 :

FROM python:latest
COPY main.py /
CMD [ "python", "./main.py" ]

FROM python:3.7-alpine
COPY ./ /usr/src/app/
WORKDIR /usr/src/app
RUN apk add curl openssl bash --no-cache
RUN curl -LO "https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl" \
    && chmod +x ./kubectl \
    && mv ./kubectl /usr/local/bin/kubectl

COPY config ~/.kube/config
# now if you execute k get pods you can get the list of pods
#Example;
RUN kubectl get pods 

要获取此文件配置,您可以点击此链接使用 kubeconfig 文件组织集群访问

我希望这可以帮助您解决您的问题。


推荐阅读