从 google App Engine SSH 执行 `docker exec` 时终端挂起
Terminal hangs when executing `docker exec` from google app engine SSH
我正在 运行 在 google 应用程序引擎上设置一个 flex 环境,它在 Rails 应用程序上托管 Ruby。我想访问此应用程序上的 rails console
。当我从本地终端或通过 google 网络控制台 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'
我可以在你的 app.yaml 中看到:instance_class: F1
。这不是 App Engine 灵活的有效设置。
因此,一种可能是您的实例 运行 资源不足。请尝试为实例设置更多 CPU 和 resource setting of app.yaml 中的内存。
此外,请注意,如果您尝试在实例内部使用 SSH 进行一些更改,当此特定实例 killed/restarted 并从原始部署代码重新创建时,所有更改都将丢失。
我正在 运行 在 google 应用程序引擎上设置一个 flex 环境,它在 Rails 应用程序上托管 Ruby。我想访问此应用程序上的 rails console
。当我从本地终端或通过 google 网络控制台 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'
我可以在你的 app.yaml 中看到:instance_class: F1
。这不是 App Engine 灵活的有效设置。
因此,一种可能是您的实例 运行 资源不足。请尝试为实例设置更多 CPU 和 resource setting of app.yaml 中的内存。
此外,请注意,如果您尝试在实例内部使用 SSH 进行一些更改,当此特定实例 killed/restarted 并从原始部署代码重新创建时,所有更改都将丢失。