gpt4 book ai didi

ruby - 在当前文件夹上使用Ruby REPL的Docker

转载 作者:行者123 更新时间:2023-12-02 21:11:44 25 4
gpt4 key购买 nike

我正在使用一个包含一些文件的小型ruby目录,我想运行Ruby REPL(在docker镜像内)并访问我当前文件夹(例如)中的所有文件。

我不想每次更改文件时都建立一个新的容器,这可能吗?我看过docker文档,但不知道。

最佳答案

您正在寻找的是Docker Volumes

这是一个概念证明:

步骤1.创建一个需要您的库的IRB REPL(如果需要,也可以选择其他):

# console.rb
#!/usr/bin/env ruby

require "irb"
require "irb/completion" # easy tab completion
require_relative "test"

Dir.chdir '/app'
IRB.start

步骤2.根据上面的控制台脚本的要求,将其用作 test文件:
# test.rb
def hello
puts "world"
end

步骤3.从容器中运行IRB,同时将当前目录安装到容器中。我在这里使用自己的 Alpine Ruby镜像,但是您可以选择所需的任何Ruby镜像(假定它随IRB一起提供)或构建自己的镜像。
$ docker run --rm -it --volume $PWD:/app dannyben/alpine-ruby ruby /app/console.rb

步骤4:此时,您应该在IRB控制台中,并且能够运行代码:
irb(main):002:0> hello
world

第5步:更改代码时,您需要使用以下代码再次加载它:
irb(main):003:0> load 'test.rb'
=> true

(或者,退出容器并再次运行它-无需重建)。

关于ruby - 在当前文件夹上使用Ruby REPL的Docker,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54164019/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com