端口转发不适用于 Test-Kitchen 和 Vagrant
Port forwarding not working with Test-Kitchen and Vagrant
我在 Ubuntu Linux 14.04 上,我正在尝试使用 kitchen-vagrant 创建一个 Centos VM。我想要端口转发,以便我可以在我的本地机器上转发 apache tomcat。虽然我已经在他们的文档中指定了端口号和专用网络 IP,但它不起作用。在我的机器上我得到 "site is unreachable".
---
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:
当我登录到虚拟机 (kitchen login
) 时,我可以在端口 8080 上访问 Tomcat。
jose@jose-desktop $ kitchen login
...
[vagrant@default-centos-67 ~]$ 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
我曾尝试将网络设置移动到 driver
部分下,但这也无济于事。看来他们在 documentation.
上就是这样做的
其实,network
是(kitchen-vagrant)driver
的一个参数。因此,以下配置是正确的:
platforms:
- name: centos-6.7
driver_config:
network:
- ["forwarded_port", {guest: 8080, host: 8080}]
- ["private_network", {ip: "192.168.33.33"}]
您可以在 .kitchen/kitchen-vagrant/<suite>/
中查看 Vagrantfile
的内容以获取以下行(以加快您的验证步骤):
c.vm.network(:forwarded_port, {:guest=>8080, :host=>8088})
顺便说一句。如果您只想转发一个端口(您可以省略该行),则不需要 private_network
。
我在 Ubuntu Linux 14.04 上,我正在尝试使用 kitchen-vagrant 创建一个 Centos VM。我想要端口转发,以便我可以在我的本地机器上转发 apache tomcat。虽然我已经在他们的文档中指定了端口号和专用网络 IP,但它不起作用。在我的机器上我得到 "site is unreachable".
---
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:
当我登录到虚拟机 (kitchen login
) 时,我可以在端口 8080 上访问 Tomcat。
jose@jose-desktop $ kitchen login
...
[vagrant@default-centos-67 ~]$ 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
我曾尝试将网络设置移动到 driver
部分下,但这也无济于事。看来他们在 documentation.
其实,network
是(kitchen-vagrant)driver
的一个参数。因此,以下配置是正确的:
platforms:
- name: centos-6.7
driver_config:
network:
- ["forwarded_port", {guest: 8080, host: 8080}]
- ["private_network", {ip: "192.168.33.33"}]
您可以在 .kitchen/kitchen-vagrant/<suite>/
中查看 Vagrantfile
的内容以获取以下行(以加快您的验证步骤):
c.vm.network(:forwarded_port, {:guest=>8080, :host=>8088})
顺便说一句。如果您只想转发一个端口(您可以省略该行),则不需要 private_network
。