如何在使用Vagrant/Virtualbox的2 centos VM和使用docker for mac的docker容器之间建立网络.他们都需要能够互相访问.
目前我无法从docker容器中访问vm.
流浪的设置:
Vagrant.configure("2") do |config|
config.vm.define "build" do |build|
build.vm.box = "centos/7"
build.vm.provider "virtualbox"
build.vm.hostname = "server-a"
build.vm.network "private_network", ip: "192.168.50.4"
end
config.vm.define "test" do |test|
test.vm.box = "centos/7"
test.vm.provider "virtualbox"
test.vm.hostname = "server"
test.vm.network "private_network", ip: "192.168.50.5"
end
end
Run Code Online (Sandbox Code Playgroud)
vm可以互相访问,但是docker容器无法访问vm
docker network create -d bridge --gateway=192.168.50.1 --subnet=192.168.50.1/24 mybridge
docker run --network=mybridge alpine ping 192.168.50.4
=> not able to connect
Run Code Online (Sandbox Code Playgroud) 我正在尝试设置一个简单的示例应用程序来测试 hazelcast 的 jcache 实现。示例代码:
CachingProvider cachingProvider = Caching.getCachingProvider();
CacheManager cacheManager = cachingProvider.getCacheManager();
Cache<String, String> m = cacheManager.getCache("test");
m.put("key1", "value1");
Run Code Online (Sandbox Code Playgroud)
在我的 pom.xml 文件中定义了 jcache 和 hazelcast
<dependencies>
<dependency>
<groupId>javax.cache</groupId>
<artifactId>cache-api</artifactId>
<version>1.0.0-PFD</version>
</dependency>
<dependency>
<groupId>com.hazelcast</groupId>
<artifactId>hazelcast</artifactId>
<version>3.6.1</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
当我运行代码时,我收到此错误。无法弄清楚我应该在哪里/如何定义这个 ComepleteConfiguration 类。
Exception in thread "main" java.lang.NoClassDefFoundError: javax/cache/configuration/CompleteConfiguration
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:760)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:760)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at …Run Code Online (Sandbox Code Playgroud)