在Docker for Windows的Kubernetes上部署docker-compose应用的技术问询
在Docker for Windows Kubernetes中运行Docker Compose应用
针对你使用的Docker for Windows Edge 18.03.0-ce-rc4版本(已启用Kubernetes),以及那个Flask示例compose应用,我给你整理了一套可行的操作步骤:
先确认环境与前置准备
- 确保Docker右下角托盘图标里的Kubernetes显示为Running(右键Docker图标,查看Kubernetes状态)
- 你的示例compose依赖本地的Dockerfile,先确认当前目录下存在正确的Dockerfile(就是那个基于Python 3.7-alpine,设置工作目录、安装依赖、启动Flask的文件)
部署步骤
- 打开命令提示符或PowerShell,切换到你的
docker-compose.yml所在目录 - (可选)先预览compose转成Kubernetes资源的结果,运行:
这个命令会输出对应的Kubernetes Deployment和Service的YAML内容,你可以确认资源配置是否符合预期docker-compose convert - 直接部署到Kubernetes集群:
这个命令会自动构建镜像(如果需要),并将服务部署到本地的Docker Kubernetes集群中docker-compose up --orchestrator=kubernetes
验证部署结果
- 查看Pod运行状态,等待状态变为
Running:kubectl get pods - 查看服务的端口映射:
你会看到web服务的端口是kubectl get services5000:5000/TCP - 在浏览器访问
http://localhost:5000,就能看到Flask应用的"Hello World!"页面了
一些可能踩坑的注意点
- 确认Kubernetes上下文是
docker-desktop,可以用kubectl config current-context查看,不是的话切换过去 - 如果镜像构建失败,先手动运行
docker build . -t web确保镜像能正常生成,再重新部署 - 如果本地5000端口被占用,修改
docker-compose.yml里的端口映射,比如改成5001:5000,再重新部署
内容的提问来源于stack exchange,提问作者marc esher
相关产品推荐
相关产品推荐

