我正在尝试用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
我该如何解决这个问题?
发布于 2020-11-19 19:09:44
你正在尝试的东西是不可能的。您需要发布一个端口,才能在Docker容器外部访问它。你可以阅读更多关于它的here
现在,我希望财务网站(OrangeHRM)只能从网络中访问。据我所知,这应该可以通过公开端口而不是链接它来实现。
您可以通过只允许某些主机连接到您的服务来在应用程序级别上执行此操作,如果这些主机位于同一网络中,则可以使用服务名称而不是其IP来标识所允许的主机。
https://stackoverflow.com/questions/64909860
复制相似问题