我一直在构建h2o4gpu Docker镜像,在完成CentOS镜像的构建过程之后,又发现了一些问题:
Dockerfile_runtime和Dockerfile-build-centos.x86-64-centos7-cuda9.0有什么区别?我可以说,Dockerfile_runtime适用于Ubuntu映像,但是有一个首选使用吗?
构建Centos Dockerfile后,我一直在使用以下代码尝试运行它:
Docker run -it --rpm -p 8888:8888 dockerimage
当我这样做时,我收到错误:
Error response from daemon: oci runtime error: container linux.go:247: starting container process caused "exec \"./run.sh\": stat ./run.sh: no such file or directory
我确实尝试添加包含的run.sh文件,部分原因是我看到它包含在Dockerfile_runtime中:
COPY run.sh /run.sh
ENTRYPOINT ["./run.sh"]
CMD ["/run.sh]
然而,这并没有对输出做出任何明显的改变,所以我一直在摸不着想做什么。
我感谢所提供的任何见解或想法!
谢谢!
答案 0 :(得分:0)
Dockerfile_runtime和Dockerfile-build-centos.x86-64-centos7-cuda9.0有什么区别?
build
dockerfiles(我们有2个)只包含构建项目所需的东西,而运行时还包含项目在运行时所需的东西,添加了一些示例数据并启动了一个Jupyter笔记本。由于Ubuntu映像生成的二进制文件无法在很多Linux发行版上轻松运行(由于Ubuntu使用的高glibc版本),因此添加了Centos one。我们有一个PR,它将我们所有的码头工人重写为Centos,但仍需要在合并之前对其进行更多测试。
但是有一个首选使用吗?
要构建whl
Dockerfile-build
或Centos,可以。如果您需要运行时泊坞窗,则首选Dockefile-runtime
。
构建Centos Dockerfile后
你是如何建造它的?您可以查看我们的docker构建脚本我们如何执行此操作https://github.com/h2oai/h2o4gpu/blob/master/scripts/make-docker-runtime.sh应该不需要添加run.sh
文件,因为它已在dockerfile中复制。 Centos docker文件无法启动Jupyter,公开8888也不包含run.sh
。