2016-07-30 8 views
2

Ich bin auf Ubuntu Linux 14.04 und ich versuche, eine Centos VM mit Küche-Vagrant zu erstellen. Ich möchte Portweiterleitung, damit ich Apache Tomcat auf meinem lokalen Rechner weiterleiten kann. Es funktioniert nicht, obwohl ich die Portnummer und die privaten Netzwerk-IPs wie in ihrer Dokumentation angegeben habe. Auf meiner Maschine bekomme ich "Site ist unerreichbar".Portweiterleitung funktioniert nicht mit Test-Kitchen und Vagrant

--- 
driver: 
    name: vagrant 

provisioner: 
    name: chef_zero 

platforms: 
    - name: centos-6.7 
    network: 
     - ["forwarded_port", {guest: 8080, host: 8080}] 
     - ["private_network", {ip: "192.168.33.33"}] 

suites: 
    - name: default 
    run_list: 
     - recipe[env_rundeck_war::default] 
    attributes: 

Als ich in die VM log (kitchen login), kann ich Tomcat auf Port zugreifen 8080.

[email protected] $ kitchen login 
... 
[[email protected] ~]$ curl -i localhost:8080 
HTTP/1.1 200 OK 
Server: Apache-Coyote/1.1 
Content-Type: text/html;charset=UTF-8 
Transfer-Encoding: chunked 
Date: Sat, 30 Jul 2016 18:12:23 GMT 

Ich habe versucht, die Netzwerkeinstellungen unter dem driver Abschnitt bewegen, aber das hat nicht geholfen entweder. Es scheint so, als ob sie es auf dem documentation tun.

Antwort

3

Eigentlich ist network ein Parameter der (Küchenvagabund) driver. Somit würde die folgende Konfiguration korrekt sein:

platforms: 
    - name: centos-6.7 
    driver_config: 
     network: 
     - ["forwarded_port", {guest: 8080, host: 8080}] 
     - ["private_network", {ip: "192.168.33.33"}] 

Sie können den Inhalt der Vagrantfile in .kitchen/kitchen-vagrant/<suite>/ für die folgende Zeile achten (zu beschleunigen Ihren Prüfungsschritt):

c.vm.network(:forwarded_port, {:guest=>8080, :host=>8088}) 

Btw. Sie benötigen keine private_network, wenn Sie nur einen Port weiterleiten möchten (Sie können diese Zeile weglassen).