在我的开发机器上,我正在尝试将docker容器连接到主机上的mysql服务器。为此,我已将网络模式设置为" host"像这样:
phpfpm:
image: mageinferno/magento2-php:7.0.8-fpm-0
container_name: php7fpm
restart: always
hostname: phpfpm
ports:
- "9000:9000"
environment:
- APP_MAGE_MODE=developer
volumes:
- /Users:/Users
- /usr/local/var/log/nginx:/var/www/logs
net: "host"
问题是,在启动docker容器后,我无法从主机远程登录到localhost 9000。当容器以桥接模式运行时,连接到9000上的容器不是问题。 docker ps命令显示:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 6de4c973a34a mageinferno/magento2-php:7.0.8-fpm-0 "/usr/local/bin/start" 4 seconds ago Up 3 seconds php7fpm
为什么容器没有将端口绑定到主机?我在这里缺少什么?
我使用Docker for Mac(版本1.12.0-rc3-beta18(版本:9996))在OS X 10.10上使用
答案 0 :(得分:1)
您是否有理由尝试使用主机网络?设置可能有点棘手,主要用于非常特殊的用例。至少,您需要确保 Docker主机通过以下方式允许该端口:
iptables -I INPUT 1 -p tcp -m tcp --dport 9000 -j ACCEPT
否则你最好坚持使用桥接模式。