我正在学习Docker。 我在ubuntu18上做了一个简单的Dockerfile,如下所示:
FROM gcc:4.9
COPY . /home/user/Desktop/HelloWorld
WORKDIR /home/user/Desktop/HelloWorld
RUN g++ HelloWorld.cpp -o HelloWorld
CMD ["./HelloWorld
我在ubuntu上构建并运行它没有任何问题。 然后,我在hub上共享了它,可以从外部运行它。 我试图在其他Ubuntu上运行该映像,但效果很好 我尝试在Windows 7上运行该映像,并且效果还不错!!
我不知道它如何在Windows上运行,尽管Docker文件使用g++
进行构建并使用./
进行运行,而Windows上不支持该文件?
g++ --o HelloWorld HelloWorld.cpp
和CMD ["./HelloWorld]
是否可以在Windows上运行?如果没有,那么他们在哪里跑?
以及FROM命令的作用到底是什么?
答案 0 :(得分:1)
Windows中没有对Linux容器的“本机”支持。 docker的官方二进制文件通过使用Hyper V来配置虚拟机来解决此问题,该虚拟机运行的是小型Linux发行版以及docker守护程序。
docker cli在Windows上本地运行,但配置为使用远程守护程序(VM中的守护程序)。
因此您的linux容器不能在Windows上运行,它们可以在Linux上运行(如果您将docker用于Windows,则它在VM中)