2016-10-12 12 views
0

現在私はDockerで再生していましたが、気に入っていますが、どのようにIPアドレスをdocker-composeで設定できますか?docker-composeで特定のIPアドレスを設定する方法

私の問題は、ドッカーの作成ウェブサイトでは、Wordpressのクイックスタートの例です。

version: '2' 
services: 
    db: 
    image: mysql:5.7 
    volumes: 
    - "./.data/db:/var/lib/mysql" 
restart: always 
environment: 
    MYSQL_ROOT_PASSWORD: wordpress 
    MYSQL_DATABASE: wordpress 
    MYSQL_USER: wordpress 
    MYSQL_PASSWORD: wordpress 

wordpress: 
    depends_on: 
    - db 
    image: wordpress:latest 
    links: 
    - db 
    ports: 
    - "8000:80" 
    restart: always 
    environment: 
    WORDPRESS_DB_HOST: db:3306 
    WORDPRESS_DB_PASSWORD: wordpress 

そして今、私はWordress-SiteがIPアドレス10.10.10.25の下で利用可能であることを望んでいます。どうすればいいですか?

Dockerで作成することは可能ですか?

編集

だから、私はネットワークを構築しようとするが、それは動作しません。

version: '2' 
    services: 
     db: 
     image: mysql:5.7 
     volumes: 
      - "./.data/db:/var/lib/mysql" 
     restart: always 
     environment: 
      MYSQL_ROOT_PASSWORD: wordpress 
      MYSQL_DATABASE: wordpress 
      MYSQL_USER: wordpress 
      MYSQL_PASSWORD: wordpress 
     networks: 
      mynet: 
      ipv4_address: 172.25.0.102 
     wordpress: 
     depends_on: 
      - db 
     image: wordpress:latest 
     links: 
      - db 
     ports: 
      - "8000:80" 
     restart: always 
     environment: 
      WORDPRESS_DB_HOST: db:3306 
      WORDPRESS_DB_PASSWORD: wordpress 
     networks: 
      mynet: 
      ipv4_address: 172.25.0.101 
    networks: 
     mynet: 
     driver: bridge 
     ipam: 
      config: 


subnet: 172.25.0.0/24 

次のエラーメッセージだけが表示されます。

wordpress_1 | Warning: mysqli::mysqli(): (HY000/2002): Connection refused in - on line 19 wordpress_1 | wordpress_1 | MySQL Connection Error: (2002) Connection refused wordpress_1 | AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.25.0.101. Set the 'ServerName' directive globally to suppress this message wordpress_1 | AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.25.0.101. Set the 'ServerName' directive globally to suppress

+0

あなたのWPコンテナにあなたのドッカーネットワーク内のその特定のアドレスを持たせたいですか? –

+0

あなたのアップデートからは、docker-compose.ymlで目的のIPアドレスを指定して成功したように見え、別のエラーに移動しました。 – BMitch

答えて

0

ドッキングウィンドウ・モデルは、特定のIPを持つコンテナを作成していますが、外部からアクセス必要があるコンテナからのポートのみを公開し、公開することはありません。あなたはこれらのポートを調整することができ、コンテナのポート80に8080であなたのホストに当たるすべてのトラフィックを指示します

ports: 
    - 8080:80 

:つまり、あなたのドッキングウィンドウ-compose.ymlでのサービスのために、以下のようなものが含まれるだろう必要に応じて、あるいはそれらを同じにすることさえできます。その後、あなたのワードプレスサーバーに到達しようとしているすべての外部トラフィックはhttp://your.docker.host:8080(ローカルテストの場合はhttp://localhost:8080)になります。

本当にコンテナのIPアドレスを指定する必要がある場合は、実行することができますが、独自のネットワークを定義してから、そのネットワーク上でコンテナを実行する必要があります。ネットワーク上のルーターや他のホストのルーティングを更新して、そのIP用のドッカーホストにトラフィックを送信します。デフォルトのiptablesルールでは、そのコンテナへのトラフィックは許可されません。したがって、私はその道を行くことをお勧めしません。

関連する問題