2016-07-12 5 views
1

私の開発マシンでは、ホスト上のmysqlサーバーにドッカーコンテナを接続しようとしています。これを行うには、私はそうのような「ホスト」にネットワークモードを設定している:「ホスト」ネットワーキングモードのDockerがホストにポートをバインドしない

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" 

問題は、私はドッキングウィンドウコンテナを起動した後、私はホストからローカルホスト9000にtelnetで接続することができないということです。コンテナがブリッジモードで動作している場合、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 

なぜ、コンテナはポートをホストにバインドしませんか?私はここで何が欠けていますか?私はMac用OS Xドッカーを使用して10.10の午前

(バージョン1.12.0-RC3-beta18(ビルド:9996))

+0

WindowsでDocker Machineを使用していますか? –

+0

@NguyenSyThanhSon Mac用ドッカーを使用しています – snez

+0

telnetに接続してください192.168.99.104:9000 –

答えて

1

を使用すると、ホストのネットワークを使用しようとしている理由はありますか?それは設定するのが少し難しいかもしれませんし、主にかなり特殊な用途のためです。

iptables -I INPUT 1 -p tcp -m tcp --dport 9000 -j ACCEPT

は、そうでなければ、おそらくブリッジモードとのより良い付着している:最低でも、あなたのような何かを経由してドッカーホストがそのポートを許可することを確認する必要があります。

+0

私はMacを使い、 "Docker for Mac"が出てくるまで開発にドッカーを使用しませんでした。 Docker for Macがリリースされたので、私はphp5.6のネイティブセットアップとは別にphp7コンテナを使い始めることにしますが、開発環境全体をコンテナに移すことは面倒です。Docker MacではこれまでのMacの問題をすべて解決しているので、私はphp7だけをコンテナ化したい。私はiptablesを持っていませんが、 "nc -l 9000"は正常に動作します。 – snez

関連する問題