我在我的Window XP中安装了Vagrant,在我的Vagrantfile中我有:
Vagrant::Config.run do |config|
# Setup the box
config.vm.box = "lucid32"
config.vm.forward_port 80, 8080
config.vm.network :hostonly, "192.168.10.200"
end
Run Code Online (Sandbox Code Playgroud)
但是当我在浏览器中输入" http://192.168.10.200:8080 " 时,我看不到我的流浪盒的迹象.
虚拟盒的IP地址是正确的,因为在vbox中,我有:
vagrant@lucid32:~$ ifconfig
....
eth1 Link encap:Ethernet HWaddr 08:00:27:79:c5:4b
inet addr:192.168.10.200 Bcast:192.168.10.255 Mask:255.255.255.0
Run Code Online (Sandbox Code Playgroud)
似乎没有防火墙问题,因为如果我键入
vagrant@lucid32:~$ curl 'http://google.com'
Run Code Online (Sandbox Code Playgroud)
它工作正常.
我已阅读Vagrant的端口转发无法正常工作 并尝试:
vagrant@lucid32:~$ curl 'http://localhost:80'
curl: (7) couldn't connect to host
Run Code Online (Sandbox Code Playgroud)
并且
vagrant@lucid32:~$ curl 'http://localhost:8080'
curl: (7) couldn't connect to host
Run Code Online (Sandbox Code Playgroud)
所以,看起来像港口前进不起作用......
如果你知道我能做什么,我可以从主机浏览器访问我的vbox,你能帮帮我吗?
提前致谢
在我试图用WinSCP抓取的节点上有一个文件.通常通过我的Linux VM访问该文件我使用命令
ssh -p 2200 -L 2020:py-01:22 foo@university.edu
Run Code Online (Sandbox Code Playgroud)
并建立一条隧道到我想去的地方.然后我打开第二个终端并说:
ssh -p 2020 foo@localhost
Run Code Online (Sandbox Code Playgroud)
这把我连接到那个隧道,我可以看到我想要的文件.所以我正在尝试使用WinSCP来执行类似的过程,这样我就可以看到该文件,然后制作我自己的副本,但是我不知所措.有人可以帮助我将上述命令插入WinSCP吗?
我正在尝试使用Vagrant设置Node.js应用程序.在同一个Vagrant盒子里面还有一个Rails应用程序,工作正常.节点正在使用端口3001,所以这里是Vagrantfile中的配置设置:
# Every Vagrant virtual environment requires a box to build off of.
config.vm.box = "puppetlabs/ubuntu-14.04-32-puppet"
config.vm.provision :shell, path: "bootstrap.sh"
config.vm.network :forwarded_port, host: 4567, guest: 3000
config.vm.network :forwarded_port, host: 5678, guest: 3001
Run Code Online (Sandbox Code Playgroud)
所以,我在Vagrant框中启动了Node.这表明在Vagrant框内它响应端口3001上的请求:
vagrant@localhost:~$ wget 127.0.0.1:3001
--2014-12-24 06:37:40-- http://127.0.0.1:3001/
Connecting to 127.0.0.1:3001... connected.
HTTP request sent, awaiting response... 200 OK
Run Code Online (Sandbox Code Playgroud)
来宾机器正在侦听端口3001:
$ sudo netstat -ltpn | grep 3001
tcp 0 0 127.0.0.1:3001 0.0.0.0:* LISTEN 1422/node
Run Code Online (Sandbox Code Playgroud)
主机正在侦听端口5678:
sudo netstat -ltpn | grep 5678
tcp 0 0 0.0.0.0:5678 0.0.0.0:* LISTEN 30966/VBoxHeadless
Run Code Online (Sandbox Code Playgroud)
然而,我无法从主机浏览器连接到该应用程序. …
我使用这个 helm chart 在 Kubernetes 集群中部署了 mongodb:https : //github.com/helm/charts/tree/master/stable/mongodb。一切都对。我可以使用端口转发或 NodePort 服务从复制集容器内或集群外部连接到 mongo。但我无法通过入口连接。
部署入口后,我可以 curl mongodb 并收到这条著名的消息:“看起来您正在尝试通过本机驱动程序端口上的 HTTP 访问 MongoDB。”。但是我无法与 mongo 客户端连接,连接卡住了,我可以在 mongodb 日志中看到我从未访问过 mongo。
有人有关于通过入口对象访问 mongodb 的任何信息吗?也许这是一个协议问题?
入口体现:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: {{ template "mongodb.fullname" . }}
annotations:
kubernetes.io/ingress.class: traefik
spec:
rules:
- host: {{ .Values.ingress.hostName }}
http:
paths:
- path: /
backend:
serviceName: "{{ template "mongodb.fullname" $ }}"
servicePort: mongodb
tls:
- hosts:
- {{ .Values.ingress.hostName }}
secretName: secret
Run Code Online (Sandbox Code Playgroud)
非常感谢 !
你好,我正在使用 minikube 学习 Kubernetes。我可以在运行 minikube 的机器上通过 minikubeip:NodePort 访问服务,现在我想从其他机器通过 LAN 访问该服务。我尝试过 Ingress 但它对我不起作用。
部署文件:
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: aspnetapp-deployment
labels:
app: aspnetapp
spec:
replicas: 2
selector:
matchLabels:
app: aspnetapp
template:
metadata:
labels:
app: aspnetapp
spec:
containers:
- name: aspnetapp-cn
image: localhost:5000/aspnetapp
ports:
- containerPort: 80
Run Code Online (Sandbox Code Playgroud)
服务文件:
---
apiVersion: v1
kind: Service
metadata:
name: aspnetapp-service
spec:
type: NodePort
ports:
- name: http
targetport: 80
port: 80
protocol: TCP
selector:
app: aspnetapp
Run Code Online (Sandbox Code Playgroud)
入口文件:
---
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: …Run Code Online (Sandbox Code Playgroud) portforwarding kubernetes minikube kubernetes-ingress kubernetes-service
我一直在修改 WSL-2 一段时间,但并不完全了解主机和 WSL-2 dist 之间的流量是如何路由的。
在某些来源中,似乎 WSL-2 使用的所有端口都会自动对主机可用。例如在Microsoft 的本教程中。同样,我设法托管了一个 Jupyter 实例,它可以通过localhost:8888.
但是,在尝试其他服务时,例如 ssh(也在非标准端口上尝试过),该端口不会通过 localhost 自动变为可用,我必须使用分配给我的 WSL 发行版的 IP 地址(来自wsl hostname -I)
为了通过 localhost 提供服务,我发现了这个 portforwarding script,它有效。但我想了解为什么需要它。
为什么某些服务需要端口转发,而不是所有服务?
我有一个 celery 实例在本地 kubernetes 集群的 pod 内运行,而它连接的 redis 服务器/代理是在我的 localhost:6379 上启动的,没有 kubernetes 。如何让我的 k8 pod 与本地部署的 redis 通信?
我正在尝试在两个Android仿真器之间进行通信以进行通信,因此我试图将端口X转发到127.0.0.1上的端口Y,其中端口X也是我正在发送的端口,端口Y是我正在接收的端口。这可能吗,如果可以,我该如何转发本地端口?
我正在使用虚拟主机(mynewsite.com)在本地主机上构建一个站点。与其将文件上传到实际的服务器,我宁愿只在本地进行测试。我的虚拟主机可以在桌面上运行,我只希望它可以使用,以便可以在iPhone或网络上的任何计算机上看到它。因此,如果我在iPhone上转到mynewsite.com,它将显示来自本地主机的站点。我想我需要进行端口转发,但是很难弄清楚。我在装有MAMP的Mac上。
如何通过Linksys路由器使虚拟主机可供iPhone使用,以进行测试?
我在MAMP中的httpd.conf看起来像:
<VirtualHost *:80>
DocumentRoot "/Users/jaysonp/Sites/mynewsite"
ServerName "mynewsite.com"
ServerAlias *.mynewsite.com
...
Run Code Online (Sandbox Code Playgroud)
然后在我的主机文件中,我有:127.0.0.1 mynewsite.com
我应该注意,我不能仅点击iPhone上的ipaddress,而是有一些代码会检查域名以使网站正常工作。
谢谢!
我已经安装了Docker for Mac beta,它允许你直接使用docker命令.我想尝试运行dockerrethinkdb,所以我遵循了rethinkdb docker容器文档的说明并完成了以下操作:
docker run --name some-rethink -v "$PWD:/data" -d rethinkdb
Run Code Online (Sandbox Code Playgroud)
这工作,我可以看到容器docker ps和启动shelldocker exec -it /bin/bash
但是,我无法通过他们的建议直接连接到我的Mac上的管理面板
$BROWSER "http://$(docker inspect --format \
'{{ .NetworkSettings.IPAddress }}' some-rethink):8080"
Run Code Online (Sandbox Code Playgroud)
这基本上等于google-chrome http://172.17.0.2:8080/,但这不起作用.我四处询问并被告知
您无法使用docker私有IP地址空间来访问端口
你必须将它们转发到mac
但是,我不知道如何做到这一点,因为我没有任何我熟悉的端口转发工具,例如ssh容器本身.在rethinkdb容器文档中使用建议的端口转发命令,ssh -fNTL ...但使用localhost而remote不是不起作用.
如何通过http与dockerMac上的测试版连接到rethinkdb管理面板?
portforwarding ×10
kubernetes ×2
linux ×2
vagrant ×2
android ×1
docker ×1
emulation ×1
http ×1
iphone ×1
kubectl ×1
macos ×1
mamp ×1
minikube ×1
mongodb ×1
networking ×1
node.js ×1
router ×1
sockets ×1
ssh ×1
virtualhost ×1
windows-subsystem-for-linux ×1
winscp ×1
wsl-2 ×1