我使用 Test-Kitchen 和 Vagrant 对我的食谱进行集成测试。但是,当我使用 kitchen 登录并进入我的虚拟机来手动证明 apache2 服务的状态(我在 ubuntu 12.04 上)时,没有问题,它的服务正在运行,但是当我尝试以这种方式从我的主机访问时
http://localhost:8080
它没有响应。
这是我的.kitchen.yml
---
driver:
name: vagrant
provisioner:
name: chef_solo
platforms:
- name: ubuntu-12.04
driver_config:
box: "ubuntu-12.04"
suites:
- name: default
run_list:
- recipe[web::default]
attributes:
我的疑问是是否有必要在 kitchen.yml 上配置其他内容,也许是与 netwotk 相关的内容..
最佳答案
您需要配置端口转发,或者(恕我直言,这是一个更好的选择)具有已知 IP 地址的单独网络接口(interface),您可以使用它直接从主机连接。
例如:
driver:
network:
- ["private_network", { ip: "192.168.33.101" }]
请参阅kitchen-vagrant和 Vagrant文档以获取更多信息。
还要确保 apache 绑定(bind)到该(或所有)接口(interface)。与端口转发相同,因为它将指向默认 NAT 接口(interface),而不是环回。
关于apache2 - 我无法使用 kitchen 实例访问我的网络应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21581618/