将本地Docker WP网站暴露给networking和互联网

我有一个问题,我似乎无法expression清楚,find答案。

问题:

我想将我的本地10-up本地WP泊坞窗网站公开给我的networking(这样当人们在我的LAN上时,人们可以帮我login和写信),并且还有一个隧道,以便我可以发送一个链接到有人通过互联网,所以他们可以查看网站的批准等我宁愿不经过一个阶段环境,如果我不必。

我的想法

当我最初进入Docker的时候,我不记得我在看什么video,但是我运行了一个特定的命令(如docker -p 80:8080),这些命令暴露了这些端口,以便我的networking上的所有计算机都能查看网站。 现在我正在使用一个Docker镜像(10-up WP-Local Docker镜像https://github.com/10up/wp-local-docker ),它使用了docker-compose.yml文件,各种所需的容器。

我不能为了我的生活而弄清楚如何恢复到以前的状态。 我敢肯定有一些东西我可以放在docker-compose文件中,它会自动执行此操作,我确定有一些程序或软件包可以安装,这将创build一个隧道,我可以用它来显示我的网站互联网。 我基本上只需要一个正确的方向。 提前致谢!

docker撰写文件中-p的等价物是ports部分,这应该暴露容器的指定端口以接收该端口上的通信。 因此,如果您的机器暴露在networking或公共互联网上,使用docker公开端口应允许您的应用程序在指定的端口上接收stream量。 对于phpfm服务,您应该公开端口9000以使服务可达

phpfpm: image: 10up/phpfpm depends_on: - mysql - memcached - elasticsearch ports: - "9000:9000" volumes: - "./wordpress:/var/www/html" - "./config/php-fpm/php.ini:/usr/local/etc/php/php.ini" - "./config/php-fpm/docker-php-ext-xdebug.ini:/usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini" restart: always extra_hosts: - "docker-local.dev:172.18.0.1" 

就像前面的发言者已经解释过的-p相当于:

 ports: - "8183:80" 

如果您已经从-p知道您的本地列表器是第一个值8183 ,并且内部docker值是80

 php: build: php7-fpm ports: - 9000 volumes: - ../src:/var/www/ nginx: build: nginx ports: - 8183:80 links: - php volumes_from: - php volumes: - ./logs/nginx/:/var/log/nginx tty: true 

在此configuration中,如果计算机上的防火墙将端口暴露给外部networking,则your_external_ip:8183容器nginx将在主机your_external_ip:8183 0.0.0.0:8183127.0.0.0:8183your_external_ip:8183

我希望有一点帮助。

问候

编辑:

属性extra_host与您在cli context --add-host使用的属性相同。 也许看看extra_host