【发布时间】:2020-06-10 19:55:55
【问题描述】:
我正在使用来自 docker hub 的容器,该容器是安装了 ssh-client 的 Alpine。我正在尝试在远程网络上转发 https 服务并使用 macvlan 将其分配给本地 IP。我正在使用以下 docker compose:
version: '3.3'
networks:
vlan100:
driver: macvlan
driver_opts:
parent: enp3s0
ipam:
config:
- subnet: 192.168.0.0/24
services:
dsm-over-ssh:
container_name: dsm-over-ssh
volumes:
- '~/.ssh:/root/.ssh'
command:
- '-L 443:192.168.1.3:5001'
- '-4'
- 'user@server.com'
networks:
vlan100:
ipv4_address: 192.168.0.133
tty: true
image: occitech/ssh-client
所以我们的想法是启动一个永久运行 ssh -L 443:192.168.1.3:5001 -4 user@server.com 的容器。
当我运行docker exec -ti dsm-over-ssh /bin/sh、apk add curl、curl https://localhost -k 时,它会显示正确站点的代码。
但是,当我尝试从同一网络上另一台计算机上的浏览器访问 https://192.168.0.133 时,它最终会超时并显示连接失败。
我能够在同一服务器上加载托管在同一 vlan 上的其他站点。我尝试将端口设置为 443:443,但它仍然失败并显示 https://192.168.0.133。
如果我从同一网络上的另一台设备尝试 curl,我会收到 curl: (7) Couldn't connect to server。
我可能在这里遗漏了一些简单的东西,有人有什么想法吗?谢谢。
【问题讨论】:
标签: docker ssh docker-compose alpine