我创建了一个对端口8080:80开放的nginx容器 所以我可以从主机上访问它。
它连接到具有开放端口9000:9000
的php fpm容器nginx成功运行php。
我的问题是php尝试访问localhost:8080 但问题是php localhost:8080无效,需要连接到nginx容器。
这是我的wordpress网站上的错误: 你可以看到那里的东西很时髦...... 下面我将附上我的docker-compose.yml
从http://localhost:8080/wp-content/themes/realtyspace/plugins/advanced-custom-fields-pro.zip ...
下载安装包下载失败。 cURL错误7:无法连接到localhost端口8080:连接被拒绝
搬运工-compose.yml
version: '2'
services:
my-nginx:
build: .
volumes:
- ./../:/var/www/html
ports:
- "8080:80"
links:
- my-php
my-php:
build:
context: .
dockerfile: Dockerfile.php-fpm
volumes:
- ./../:/var/www/html
ports:
- "9000:9000"
links:
- my-mysql
my-mysql:
image: mariadb:5.5
volumes:
- /var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: wp
MYSQL_DATABASE: wp
MYSQL_USER: wp
MYSQL_PASSWORD: wp
答案 0 :(得分:0)
使用docker的内部网络并配置php访问http://my-nginx:80
。
localhost
将解析为php容器本身的独立IP,而不是运行所有内容的Docker主机。并且尝试传递http://dockerhost:8080
将导致非便携式docker-compose.yml,并且可能会出现问题,而iptables防火墙和nat规则比它们的价值更麻烦。使用v2撰写文件的价值在于,您可以获得Docker内部的隔离网络,并使每个容器的DNS解析相互协作。