我一直在终端写这些命令,但我不知道如何为它编写脚本。我能做什么?这些是我将在bash和irb中连续编写的命令:
# in bash
docker exec -it <some_container> bash
irb
# now everything below is a ruby command
require 'bundler'
Bundler.require
required_load_path = File.expand_path(".")
$LOAD_PATH.unshift(required_load_path) unless $LOAD_PATH.include?(required_load_path)
Dir['config/*.rb'].each { |file| load file }
ENV["RAILS_ENV"] = 'development'
...
我有一个带bin文件夹的ruby项目。我可以写什么脚本来自动化所有这些?我目前遇到了麻烦,因为当我运行docker exec部分时...由于某种原因,irb部分不会被运行。
答案 0 :(得分:0)
如果你只想在Docker上执行ruby脚本,可以选择使用你想要的命令创建一个ruby文件:
# rubyscript.rb
puts 'hello'
# ...
用docker exec调用它:
docker exec -it <imagename> ruby rubyscript.rb
但是如果你想运行一些东西并保持在REPL中执行更多东西,你可以在脚本中调用pry:
# rubyscript.rb
puts 'hello'
# ...
require 'pry'
pry
这将执行你的东西并保持在pry中,在Docker容器上执行。