在docker中运行一个简单的ruby文件并将输出重定向到一个文件
假设我在当前目录hello.rb中有一个ruby文件: 把“你好,世界” 我如何运行一个docker映像,它将运行这个ruby文件,然后将输出保存到一个文件中 我能用的最小的docker图像是什么 我尝试了这个docker图像:在docker中运行一个简单的ruby文件并将输出重定向到一个文件,ruby,docker,Ruby,Docker,假设我在当前目录hello.rb中有一个ruby文件: 把“你好,世界” 我如何运行一个docker映像,它将运行这个ruby文件,然后将输出保存到一个文件中 我能用的最小的docker图像是什么 我尝试了这个docker图像: 但是我不知道如何正确运行它来做我想要的事情。创建一个新目录,将您的hello.rb文件移动到那里,然后创建这个Dockerfile: FROM ruby:latest COPY hello.rb . ENTRYPOINT ["ruby", "hello.rb"] 它
但是我不知道如何正确运行它来做我想要的事情。创建一个新目录,将您的
hello.rb
文件移动到那里,然后创建这个Dockerfile
:
FROM ruby:latest
COPY hello.rb .
ENTRYPOINT ["ruby", "hello.rb"]
它获取安装了Ruby的最新docker映像,将hello.rb
文件复制到容器中,然后指定一个可执行入口点,就像在shell中运行Ruby hello.rb
一样
接下来,运行docker build-t rubytest.
。这将从Docker Hub下拉ruby:latest
图像,然后执行Dockerfile
中的命令。请注意,此命令中的rubytest
可以替换为您想要标记容器的任何内容
最后,运行
docker run-t rubytest.>output.txt
。这将运行您的hello.rb
可执行文件,将输出重定向到当前目录中的output.txt
。我得到:无法在本地找到映像“rubytest:latest”,docker:来自守护进程的错误响应:rubytest的拉取访问被拒绝,存储库不存在或可能需要“docker login”。@Blankman您正在使用的确切的docker run
命令是什么?确切地说是您编写的docker run-t rubytest.>output.txt
我忽略了在我的回答中首先提到运行docker build-t rubytest的必要性。我已经编辑过了。