使用https://hub.docker.com/_/ruby/我有一個空的Gemfile,Gemfile.lock的和1號線Ruby腳本(test.rb
)這樣一個骨架項目建設碼頭工人圖像一個Ruby應用程序:搬運工RUN - 不執行腳本
File.open("success.txt", 'w') { |file| file.write("Success!") }
注意Dockerfile是:
FROM ruby:2.1-onbuild
CMD ["./test.rb"]
然而,當我建立和使用運行它:
docker build -t test-ruby-app .
docker run -it --name my-running-test-ruby-app test-ruby-app
我可以看到它正在運行並使用docker ps
退出。如果使用附加到它:
docker run --entrypoint=bash -it <image id>
我可以看到Ruby腳本還沒有運行(有沒有success.txt
文件)。
我可以使用./test.rb
手動(在附加到圖像後)運行它,它按預期工作。
可能是什麼問題?
將您的Dockerfile添加到您的問題。 – Cyrus
在你的Dockerfile中,你是否將文件複製到圖像中?這兩行Dockerfile沒有顯示你這樣做。 –
'-onbuild'圖像變種就是這樣做的。它實際上將它複製到'/ usr/src/app':https://github.com/docker-library/ruby/blob/master/2.1/onbuild/Dockerfile –