在Google Cloud Run上运行的Docker容器如何进入?

18

是否可以像使用docker exec -it CONTAINER /bin/bash这样的方式进入由Google Cloud Run驱动的容器?

我遇到了一个问题,无法在本地或使用Google Cloud Shell运行基于相同镜像的容器时再现它。
我并不挑剔是使用Cloud Shell连接到Cloud Run还是从我的本地环境连接。

2个回答

11

是否可以进入由Google Cloud Run提供动力的容器?

不可以,您只能通过$PORT(当前为8080)进行HTTP/HTTPS请求访问服务。

您需要以传统方式进行调试:对于您的语言,请对Google Stackdriver进行记录——它已内置于Cloud Run中,只需使用“logging.info(...)”即可。

如果您的问题是容器启动,则请检查Stackdriver是否有错误消息。


2

您可以通过一些小技巧实现,我在这里发布了一个示例 https://github.com/matti/google-cloud-run-shell

您只需要将这些二进制文件复制到您的容器中,并通过Heroku或类似工具建立反向shell访问。


2
一个有趣的黑客技巧。对于那些考虑这个的人,如果有多个实例在运行,这将会破坏它。安全警告:matti/lolbear 使用任何密码验证任何用户名作为服务器用户名并删除所有检查。这不是我想要附加到我的计费帐户上运行的东西。 - John Hanley
正确,但由于云运行的限制,它也不能在公共接口中进行监听。为了方便,它会丢弃授权,因此被命名为LOLbear。 - matti
1
我不确定你想表达什么。仅仅因为你能够部署危险代码并不是明智的选择。如果你在你的帖子中加入一个警告,说明这段代码是危险的,那至少可以提醒其他人注意风险。 - John Hanley
刚试图公正地表示“并不像你描述的那么危险” - 就这样。 - matti

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接