主题:请教一个关于Docker的问题 -- 雷达
工作原因需要研究下面的代码。
https://github.com/Tetrachrome/subpixel
我知道源代码包括用于 python的和 ipython notebook 的, 问题是对 docker 文件夹不太理解。
查了一下,docker 是一种容器,与虚拟机有些类似,可以快速部署。
我有 ubuntu的系统,装了 python2.7,这些代码怎样能最快的运行起来?
我的问题:
(1)我应该安装docker, 然后运行 上面的 Dockerfile 文件,这样可以自动安装配置我的软件,然后就可以运行代码了。这样理解对吗?
(2)如果我没有安装 python, 我是否应该在运行 docker 之前安装 python?
(3)如果我的系统是 CENTOS 或者其他,会有影响吗?
谢谢各位大拿!
docker就是vm里面的虚拟磁盘,在一个地方部署安装完环境后,可以直接到另外一个docker里面直接运行。
问题
1.运行dockerfile文件后,就是一个开箱的过程,完成后,就可以获得和发布者一样的运行环境了。你的理解基本正确。
2.TF需要的python已经在dockerfile里面包含了,你不需要安装了,只需要安装docker就可以了。
3.没有影响。
相当于源代码编译,发行用的是image,一般人拿来直接用就可以了。
在 docker下可以做吗?
假如原来的包里有java 和 python的源代码,我是否还需要安装java 和 python开发环境?谢谢
重新运行dockerfile,产生新image就好了。
也可以在docker底下做,然后退出,生成新image,不过一般不推荐这种做法。
新建一个文件夹,把除了kernel image的其他所需系统文件拷贝到这个文件夹,再把你需要的文件拷贝到这个文件夹,然后启动docker系统。。。一个新的虚拟机启动了,那个文件夹就是新系统的根目录。
这个新虚拟机和外面的host机器是(文件)隔离的,但是比vmware这类虚拟机轻量些。
上面是文件系统隔离,以此类推,CPU资源/网络资源等等都可以隔离,又不用vmware那么彻底的隔离(造成体积大,运行效率受影响)。