我能够构建一个类似的Dockerfile
docker build -t deepak/ruby .
但对于未命名的Dockerfile Dockerfile
# DOCKER-VERSION 0.4.8
FROM deepak/ruby
MAINTAINER Deepak Kannan "deepak@example.com"
RUN ./bin/rails s
Run Code Online (Sandbox Code Playgroud)
让我们说它是Dockerfile.app
我们建立的
docker build -t deepak/app Dockerfile.app
然后我得到错误
Uploading context 0 bytes
Error build: EOF
EOF
Run Code Online (Sandbox Code Playgroud) 我正在使用带有ActiveRecord和PostgreSQL的Ruby on Rails.
如何执行多个SQL查询?
我需要它来运行自定义迁移脚本,例如:
Foo.connection.execute <<-SQL.split(';').map(&:strip).join
delete from metadata where record_type = 'Foo';
TRUNCATE table1 RESTART IDENTITY;
TRUNCATE table2 RESTART IDENTITY;
delete from schema_migrations where version > '20120806120823';
SQL
Run Code Online (Sandbox Code Playgroud)
我不接受用户的数据,所以我不担心sql注入.
CLIENT_MULTI_STATEMENTS也许像MySQL 这样的东西?
来自MySQL/PHP文档:
CLIENT_MULTI_STATEMENTS:告诉服务器客户端可以在一个字符串中发送多个语句(以";"分隔).如果未设置此标志,则禁用多语句执行.有关此标志的更多信息,请参阅此表后面的注释.
如何在多个平台的捆绑器中供应 gem?
我正在 Mac OSX 上进行开发,但在 ubuntu 上部署具有本机依赖项(如 libv8)的 gem 可以有一个名为的 gem
https://rubygems.org/gems/libv8/versions/3.11.8.13-x86_64-darwin-10 和https://rubygems.org/gems/libv8/versions/3.11.8.13-x86_64-linux 所有版本都可以看到在https://rubygems.org/gems/libv8/versions
所以在我的 Mac 上,当我运行捆绑包时。我想要:
libv8-3.11.8.13-x86_64-darwin-10.gem 和 libv8-3.11.8.13-x86_64-linux.gem 同样升级和删除 gem 也必须删除并添加其他平台的 gem
目前在 Mac 上仅添加 libv8-3.11.8.13-x86_64-darwin-10.gem
我正在学习 Linux 系统编程,并且正在阅读 W. Richard Stevens 和 Stephen A. Rago 所著的 APUE 2ed 书。
http://www.apuebook.com/上给出的代码不起作用。未定义的定义、未实现的函数(在附录中给出)
谁能告诉我 APUE 2ed 的编译代码,最好是在 Ubuntu/gcc4 上。
如果找不到库(通过 require 加载),我可以有条件地跳过在同一文件中加载“更多”ruby 代码吗?
begin
require 'aws-sdk'
rescue LoadError
puts "aws-sdk gem not found"
return #does not work. nor does next
end
# code after here should not be executed as `aws-sdk` gem was not found
puts "=== should not get executed"
namespace :db do
desc "import local postgres database to heroku. user and database name is hardcoded"
task :import_to_heroku => [:environment, "db:dump_for_heroku"] do
# code using aws-sdk gem
end
end
Run Code Online (Sandbox Code Playgroud)
在上面的代码中,我可以要求 Ruby 在点击 rescue LoadError.
类似于提前返回,但用于加载文件而不是函数。
需要它,因为我有一个需要aws-sdk …
我可以有条件地跳过在Ruby中要求一个文件吗?
begin
require 'aws-sdk'
rescue LoadError
puts "aws-sdk gem not found"
end
namespace :db do
desc "import local postgres database to heroku. user and database name is hardcoded"
task :import_to_heroku => [:environment, "db:dump_for_heroku"] do
# code using aws-sdk gem
end
end
Run Code Online (Sandbox Code Playgroud)
在上面的代码中,我可以要求Ruby在rescue LoadError
我可以将整个代码包装在条件中之后不要阅读,但这是不优雅的.我试着next和return.
编辑:添加了一个新问题我是否可以有条件地跳过在同一个文件中加载"更多"ruby代码?.抱歉.没有正确地问这个问题
ruby ×3
require ×2
rubygems ×2
activerecord ×1
bundler ×1
deployment ×1
docker ×1
linux ×1
nginx ×1
passenger ×1
postgresql ×1
unix ×1