从Google App Engine SSH执行`docker exec`时终端挂起

时间:2019-07-25 20:49:14

标签: docker google-app-engine app-engine-flexible

我正在托管Ruby on Rails应用程序的Google App Engine上运行flex环境。我想访问此应用程序上的rails console。当我从本地终端或通过google Web控制台SSH进入实例时,我执行命令docker exec -it gaeapp /bin/bash -c "bundle exec rails c"

它开始启动rails控制台,但很快挂起。在完全停止响应之前,我可以输入一两个命令。

在SSH控制台中,我可以做很多事情,但是第二次我运行docker exec命令开始挂起。知道发生了什么吗?

我们的app.yaml

entrypoint: RAILS_ENV=develop bundle exec rails server --port $PORT
env: flex
runtime: ruby
instance_class: F1

env_variables:
  RAILS_MASTER_KEY: ${RAILS_MASTER_KEY}

beta_settings:
  cloud_sql_instances: [hidden]

跑步 ruby '2.6.3' 'rails', '~> 5.2.3'

1 个答案:

答案 0 :(得分:0)

我可以在您的app.yam中看到:.ui-icon{ width: 32px //double than before height: 32px //double than before } 对AppEngine flexible无效。

所以一种可能是您的实例资源不足。请尝试在resource setting of app.yaml中为实例设置更多的CPU和内存。

请注意,如果您尝试在实例内部使用SSH进行某些更改,则当该特定实例被终止/重新启动并从原始部署代码重新创建时,所有这些更改都将丢失。