docker RUN – 不执行脚本
使用https://hub.docker.com/_/ruby/构buildRuby应用程序的Docker镜像我有一个空的Gemfile,Gemfile.lock和1行Ruby脚本( test.rb
),如下所示的框架项目:
File.open("success.txt", 'w') { |file| file.write("Success!") }
注意Dockerfile是:
FROM ruby:2.1-onbuild CMD ["./test.rb"]
但是,当我使用以下方法构build和运行它时:
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
手动运行它(在附加到图像之后),并且按预期工作。
可能是什么问题呢?
你确定你正在运行脚本吗? 不应该
CMD ["ruby", "./test.rb"]
?
我的意思是,我可以假设脚本具有可执行权限,但不是shell脚本。
- 使用波塞冬的错误:波塞冬::错误:: UnableToFetchMetadata
- 通过docker安装Tensorflow时出错
- 如何在Docker容器内访问主机上的postgres数据库?
- 不能使用SIGKILL杀死Docker容器中的pid 1
- jenkins从docker奴隶获得testing结果
- swift 3.1.1.-release on linux copyItem(atPath:toPath :)尚未实现
- 是否有可能访问在Docker容器内安装的Hbase,以便在Mac OSX上使用Java客户端访问?
- docker nginx letsencrypt odoo错误
- 有没有一种方法可以在Dockerfile中指定build议的标签名称?