将Docker转换为Kubernetes的问题

时间:2020-03-23 15:48:01

标签: python docker flask kubernetes docker-compose

将Docker设置转换为kubernetes时遇到了一些麻烦。我已经阅读了docker用户的kubectl,设置了minikube,并尝试使用kubernetes自动缩放我的docker应用程序。 但是我在运行它时遇到了一些麻烦。

我试图在centos映像上使用python flask应用程序创建一个容器,该应用程序使用我已在云中设置的数据库

在docker中,我只会使用docker build。 -tag,然后使用docker run设置我的容器。像这样:

enter image description here

这会在端口5000上给我一个容器(对于数据库,我必须使用它需要IP才能使用的hostnetwork als。设置localhost 127.0.0.1:5000似乎不起作用,但这本身就是另一个问题)

当我阅读docker用户的Kubectl文档时,似乎我可以完成与Kubernetes中的docker几乎相同的操作。所以我正在尝试这个。

我还没有弄清楚如何在kubernetes中使用--network host,但是我想只是运行它,看看它是否给出了错误。它做到了。似乎无法拉出图像。但码头工人可以。这是怎么了? enter image description here

过了一会儿。

enter image description here

我什至没有尝试过水平自动缩放,也不了解docker-file转换。但是我应该能够正确运行容器?

编辑: 我使用Windows生成屏幕截图。

我正在运行的命令:

docker run --network host -d hu-simple:latest

我得到的

输出:

一个docker deamon字符串,因为它为我创建了一个docker容器

我正在尝试在Kubernetes中使用

命令:

kubectl运行--image = hu-simpel:最新的hu-simpel --port = 5000

我得到的

输出:

deployment.apps / hu-simpel已创建

但是当我尝试kubectl时,会得到所有:

一段时间后,我得到:ErrImagepull和ImagePullBackOff。

我不认为我正在使用kubernetes部署yaml,因为我只是想在kubernetes上运行docker映像。我没有使用docker-compose在kubernetes中创建它,而是尝试运行docker镜像。但是请告诉我我是否弄错了。

1 个答案:

答案 0 :(得分:3)

发生这种情况是因为您的minikube实例无法访问Docker守护程序。换句话说,您的Kubernetes对使用主机Docker构建的映像一无所知。

要解决此问题,请使用以下命令:minikube docker-env。这会将所有内容从Docker导出到您的minikube实例,这意味着您将能够重复使用在主机中构建的映像。

完成后,您可以进行docker-machine env -u