所以我有一台运行nextcloud的dockerised实例的服务器,我可以通过服务器上的浏览器访问它。我想在我的整个局域网上都可以访问它,这样我就可以移植它并在任何地方访问它。我正在使用kitematic和virtualbox运行docker。
运行服务器的IP是:192.168.178.28
我可以访问服务器上的docker实例的IP是:192.168.99.100:32768
编辑:服务器在Windows Server 2016上运行
答案 0 :(得分:1)
由于您的服务在Docker-Machine中的本地IP地址上运行(从IP地址的外观),您可以使用类似nginx
的内容将其暴露给网络的其余部分。
安装nginx
,然后将其配置更新为从外部端口转发到dockerised应用程序。在Mac上,您可以使用nginx
安装brew install nginx
(如果您已安装homebrew
)。对于其他操作系统,请查看nginx documentation。
设置反向代理的配置应如下所示:
http {
server {
# This is the external port
listen 8080;
access_log /usr/local/var/logs/nginx-rest-8080.access.log main;
location / {
proxy_pass http://192.168.99.100:8082/;
proxy_set_header Host $http_host;
}
}
}
这将导致nginx
侦听外部IP地址的端口8080,然后将所有请求转发到您的dockerised服务,假设它可以在端口8082上访问。根据需要进行调整...