我在将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 可以。这是怎么了?
过了一会儿。
我什至没有尝试过水平自动缩放,也不了解docker-file转换。但是我应该能够只运行容器吗?
编辑:
我使用Windows生成屏幕截图。
我正在运行的命令:
docker运行--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镜像。但是请告诉我我是否弄错了。
最佳答案
发生这种情况是因为您的minikube实例无法访问Docker守护程序。换句话说,您的Kubernetes对使用主机Docker构建的镜像一无所知。
为了解决这个问题,您可以使用以下命令:minikube docker-env
。这会将所有内容从Docker导出到您的minikube实例,这意味着您将能够重复使用在主机中构建的镜像。
完成后,您可以执行docker-machine env -u
。
关于python - 将Docker运行到Kubernetes的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60816905/