我在Docker和Cloud Run上还很陌生,所以也许我错过了一些东西。
我已经开发了UDP服务器并生成了它的docker容器。
当我在本地尝试它时,它就像是魅力。...但是当我尝试在Google Cloud Run上部署它时,它不起作用。显然,运行状况检查会验证TCP端口而不是UDP。
有什么想法吗?
干杯!
我已经在本地尝试过:
docker run -p 8080:4114/udp gcr.io/myproject/udpserver
,我尝试通过以下方式在Cloud Run上进行部署:
gcloud beta run deploy udpserver --image gcr.io/myproject/udpserver
FROM python:3.7
COPY . /app
WORKDIR /app
EXPOSE 4114/udp
CMD python ./app.py
答案 0 :(得分:3)
是的,它不适用于UDP。 container contract的文档(构建映像时必须遵循的规则)说,您必须在PORT环境变量(8080)中指定的端口上运行HTTP服务器。 HTTP暗示可以在TCP上运行,而不是UDP。