将Docker设置转换为kubernetes时遇到了一些麻烦。我已经阅读了docker用户的kubectl,设置了minikube,并尝试使用kubernetes自动缩放我的docker应用程序。 但是我在运行它时遇到了一些麻烦。
我试图在centos映像上使用python flask应用程序创建一个容器,该应用程序使用我已在云中设置的数据库
在docker中,我只会使用docker build。 -tag,然后使用docker run设置我的容器。像这样:
这会在端口5000上给我一个容器(对于数据库,我必须使用它需要IP才能使用的hostnetwork als。设置localhost 127.0.0.1:5000似乎不起作用,但这本身就是另一个问题)
当我阅读docker用户的Kubectl文档时,似乎我可以完成与Kubernetes中的docker几乎相同的操作。所以我正在尝试这个。
我还没有弄清楚如何在kubernetes中使用--network host,但是我想只是运行它,看看它是否给出了错误。它做到了。似乎无法拉出图像。但码头工人可以。这是怎么了?
过了一会儿。
我什至没有尝试过水平自动缩放,也不了解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镜像。但是请告诉我我是否弄错了。
答案 0 :(得分:3)
发生这种情况是因为您的minikube实例无法访问Docker守护程序。换句话说,您的Kubernetes对使用主机Docker构建的映像一无所知。
要解决此问题,请使用以下命令:minikube docker-env
。这会将所有内容从Docker导出到您的minikube实例,这意味着您将能够重复使用在主机中构建的映像。
完成后,您可以进行docker-machine env -u
。