端口链接有效,但公开端口无效(Docker)



我正在尝试使用Docker重新创建一家小公司。我希望Wordpress是公共的,所以它在配置时使用-p。现在,我希望财务网站(OrangeHRM(只能从网络内部访问。据我所知,这应该可以通过暴露端口而不是链接它。

但是当我使用expose时,我无法从我的机器访问网站,当我使用-p链接它时,它是可以访问的。

带有端口链接的代码

docker run -d -v "/Docker_MKB/Docker/firefly/firefly_iii_upload":/var/www/html/storage/upload -p 8080:8080 -e APP_KEY=(redacted) -e DB_HOST=mariadb -e DB_PORT=3306 -e DB_CONNECTION=mysql -e DB_DATABASE=firefly -e DB_USERNAME=(redacted) -e DB_PASSWORD=(redacted) --network=isolated --name firefly jc5x/firefly-iii:latest

带有暴露端口的代码

docker run -d -v "/Docker_MKB/Docker/firefly/firefly_iii_upload":/var/www/html/storage/upload -expose 8080 -e APP_KEY=(redacted) -e DB_HOST=mariadb -e DB_PORT=3306 -e DB_CONNECTION=mysql -e DB_DATABASE=firefly -e DB_USERNAME=(redacted) -e DB_PASSWORD=(redacted) --network=isolated --name firefly jc5x/firefly-iii:latest

我该如何解决这个问题?

您所尝试的是不可能的。您需要发布一个端口,以便它可以在Docker容器之外访问。你可以在这里阅读更多关于

现在,我希望财务网站(OrangeHRM(只能从网络内部访问。据我所知,这应该可以通过暴露端口而不是链接它。

您可以在应用程序级别上做到这一点,只允许某些主机连接到您的服务,如果允许的主机在同一网络中,则可以用服务名称而不是IP来标识。

最新更新