如果Docker社区在Windows上本机运行,那为什么它需要Hyper-v?IE,本地暗示Docker-Engine可以在Windows上运行指令吗?它看起来像它仍然启动一个Linux VM并与之一起运行.
对我来说,似乎docker-toolbox使用运行linux的oracle hyper-visor,而Docker社区使用运行linux的Hyper-V.我忽视了另一个重要的区别吗?
它是否正确?我理解"本地"这个词是错误的,是码头工人误用了这个词,还是我还缺少其他一些方面?
我问的原因是因为我注意到你没有将Docker-machine与社区版一起使用,我想知道为什么会这样.docker-machine是在windows上运行的东西,而Docker Engine却没有?我认为docker这个词过载,在这种情况下可能导致混乱:)
提前致谢!
PHP是一种解释型语言,未编译.然而,我遇到了一本书,提到在编译时PHP中发生的事情,PHP手册指出声明一个const发生在编译时.因为PHP没有编译,所以编译时使用的术语与PHP有什么关系?
如果它只是"当脚本被读取并翻译成解释器子程序时",那么术语编译时和运行时之间有什么区别?
似乎有越来越多的人说你永远不应该返回null,而应该总是使用Null对象模式.我可以在使用集合/ map /数组或调用boA函数(如isAuthenticated()时看到NOP的有用性,如下所示).
我没有发现任何完全令人信服的东西.当我试图组织我的想法时,请在这里忍受我.
我的理解是,不是返回一个空对象,而是返回一个已被"清零"的有效对象.
因此,例如,客户端将调用以获取对象:
Car car = getCar();
Run Code Online (Sandbox Code Playgroud)
如果不使用NOP,则需要在调用其上的任何方法之前检查从getCar()返回的对象是否为null:
if (car != null){
color = car.getColor();
doScreenStuff(color);
}
Run Code Online (Sandbox Code Playgroud)
使用NOP,getCar()它现在返回一个已被有效"清零"的对象,而不是返回null.所以现在我们不再需要做if (car != null),只能请求颜色.因此,我认为当我们调用颜色时,我们的"归零"对象将返回"无".
这有什么用?似乎向前移动并在空对象上调用方法会导致与仅检查null相同的痛苦.现在,当需要显示信息时,我们需要检查颜色是否为"无",高度不为0,或者您拥有的其他任何值.因此,基本上,如果汽车为空,则不检查处理的开始,而是检查我们拥有的汽车对象是真车还是替代品.IE我们不想显示一堆空对象,所以我们需要一些方法来过滤掉所有空对象.
这个过滤是一个额外的步骤,就像调用if(car!= null)一样.唯一的区别是,通过检查null,我们可以在通过抛出异常发现car对象为null时立即停止处理,而使用NOP我们在空对象上调用方法并继续前进,直到它到达时间为止显示对象,此时我们过滤掉空心.此外,您需要知道空对象返回的值.IE确实getColor()返回"none"或"empty".
显然必须有一些我忽略的东西.提前致谢.