使用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 –