我在理解Docker for Windows以及网络如何工作方面遇到了一些麻烦.在带有桥接适配器和Ubuntu虚拟机的VirtualBox中,一切正常 - 我可以从我的主机(反之亦然)ping vm.
是有多个Windows机器(不是vms),每个运行一个Docker容器(形成一个存储集群),这些容器需要相互通信(overlay
可能使用网络运行,或者这需要swarm
?).我还需要在外部进行讨论,这是我能够工作的唯一部分,使用docker run -p
选项公开我需要的容器中的端口.
为了详细说明我的过程,我的目标是构建一个在Linux上运行的Amazon S3风格的键值存储(特别是使用Riak KV).由于这需要运行该软件的多台计算机,在我看来,Docker可以带来诸多好处,包括易于设置和部署,以及在Windows上运行基于Linux的软件的框架,这是我目前很容易访问的.
如果我使用默认的网桥在同一主机上运行两个Ubuntu容器,它们可以相互ping通.ifconfig
列出具有172.17 ... ip地址的local和eth0适配器.从这一点来看,它听起来不像我正在寻找的桥,因为我想要多个主机.
如果我运行Ubuntu容器,--network host
我可以从ifconfig
"br-xxxxxxxx"和"vethxxxxxx"适配器获得更多输出.从文档中,
在主机网络堆栈上添加容器
这听起来很有用,但也许我不理解.我知道Docker for Windows运行MobyLinuxVM,并使用Hyper-V适配器和交换机,主机指的是什么?windows pc还是这个VM?有了--network host
,我仍然无法ping容器或从容器ping我的桌面.
似乎Docker的常见用法不是基于Windows的,所以我找不到太多引用.我的用例与Docker的正常使用有很大不同吗?任何人都能指出我在这里缺少的东西吗?
阅读Hyper-V适配器使我看起来除了启动容器之外还需要更改网络适配器设置?我想,我很难理解在windows,hyper-v adapter/switch,ubuntu和docker之间的位置.
我正在尝试探索libclang(在Windows上)以基于AST分析“ stuff *”。我发现了几个例子,但我什么都做不了。
当我尝试运行此
index = clang.cindex.Index.create()
tu = index.parse(sys.argv[1], args=['-x', 'c++'])
print len(tu.cursor.get_children())
Run Code Online (Sandbox Code Playgroud)
我遇到访问冲突,
File "C:\python27\lib\site-packages\clang\cindex.py", line 1783, in get_children
children)
WindowsError: exception: access violation writing 0x000000001D1B81A8
cindex.py在这里稍有不同(https://github.com/llvm-mirror/clang/tree/master/bindings/python),但给出的结果相同,只是一行不同。
此外,似乎有些杰出的错误(https://bugs.llvm.org/show_bug.cgi?id=13907)听起来非常相似...尽管现在已经有好几年了。
这样,当前在Windows上有人使用吗? 看来这可能在某个时候起作用了...
似乎libclang是推荐的方法,而python易于使用,但似乎不起作用。
*注意:按东西,我想使用属性来生成序列化函数或绑定,以标记类/结构。
LLVM 7.0(和6.0)
Windows 10
python 2.7 x64