ruby-on-rails - 如何在 Docker 容器上的 Rails 应用程序中运行命令行工具?
问题描述
所以我有一个在 docker 容器中运行的 Rails 项目
我需要使用这个工具:https ://github.com/google/oauth2l
我需要在我的 rails 应用程序中使用这个工具,获取它的输出并在我通过 HTTParty 发出的发布请求中使用它。
我已经能够做到这一点,但这是假设我的系统上安装了 oauth2l。但是由于
我在容器中运行我的应用程序,我不确定最好的方法是什么。
在文档中,似乎确实有一种方法可以将其“注入”到我的容器中,但是将这些行添加到 Dockerfile 会导致语法错误。
关于我可以在这里做什么的任何想法?
解决方案
作为一般规则,I think you shouldn't run commands inside the docker container unless you really need it
最好的方法是安装您需要的东西building your docker image
(仅使用docker
or docker-compose
),但如果您真的需要enter
在您的内部安装container
,我通常会这样做:
sudo -s
docker container ls (list all containers)
docker container -ti <id of the container> sh
or
docker exec -ti <id of the container> /bin/bash
sudo -s
有时需要取决于您如何配置运行容器的实例,这意味着您从现在开始运行的所有命令都类似于 admin 。您可能需要再次执行sh
or bash
,具体取决于您的实例。希望有帮助!
推荐阅读
- angular - Angular Universal 在请求标头中设置 set-cookies
- php - 如何从数据库中的三个表中同时获取数据
- qt - 为什么显示组合框的弹出功能在qt中不起作用?
- reactjs - 如何从材料 ui 提交自动完成的值?
- pine-script - Metastock 脚本到 Pine (Tradingview)
- c++ - [decl.constexpr].5 到底是什么意思?
- discord - Discord Bot UnhandledPromiseRejectionWarning:TypeError:generalChannel.send 不是函数
- excel - VBA打印循环没有将整个循环写入批处理文件
- c# - 在不同的单元格值之间插入行
- markdown - 块引号未在 readme.md 中正确呈现