首页 > 解决方案 > 如何在 Docker 容器上的 Rails 应用程序中运行命令行工具?

问题描述

所以我有一个在 docker 容器中运行的 Rails 项目

我需要使用这个工具:https ://github.com/google/oauth2l

我需要在我的 rails 应用程序中使用这个工具,获取它的输出并在我通过 HTTParty 发出的发布请求中使用它。

我已经能够做到这一点,但这是假设我的系统上安装了 oauth2l。但是由于

我在容器中运行我的应用程序,我不确定最好的方法是什么。

在文档中,似乎确实有一种方法可以将其“注入”到我的容器中,但是将这些行添加到 Dockerfile 会导致语法错误。

关于我可以在这里做什么的任何想法?

标签: ruby-on-railsrubydocker

解决方案


作为一般规则,I think you shouldn't run commands inside the docker container unless you really need it最好的方法是安装您需要的东西building your docker image(仅使用dockeror 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 。您可能需要再次执行shor bash,具体取决于您的实例。希望有帮助!


推荐阅读