2016-09-01 8 views
2

"Mac用Docker"を使用し、ホストマシン上のコンテナを実行しています。ホストマシン上のlocalhost経由でコンテナにアクセスできます。しかし、LAN上の他のシステムからは利用できません。lanの別のマシンからDockerコンテナにアクセスする方法

コンテナは、localhost:80ではアクセスできますが、同じLANネットワーク上のotehrシステムからはアクセスできないnginx Webサーバーです。

他のシステムがホストマシン上のコンテナにアクセスできるようにします。ドッカー-COMPOSE構成と "ドッキングウィンドウ情報" コマンドの出力を加算

version: '2' 

services: 
    nginx: 
    image: artifactory.service.dev:5000/nginx:latest 
    network_mode: host 
    ports: 
     - "80:80" 
     - "10001-10020:10001-10020" 
     - "8080:8080" 
    volumes: 
     - ~/docker/.docker/nginx/html:/usr/share/nginx/html 

    redis: 
    image: artifactory.service.dev:5000/redis:latest 
    restart: always 
    ports: 
     - "6379:6379" 

    activemq: 
    image: artifactory.service.dev:5000/rmohr/activemq:5.11.1 
    restart: always 
    ports: 
     - "61613:61613" 
     - "61616:61616" 
     - "8161:8161" 

    oracle: 
    image: artifactory.service.dev:5000/oracle-12c:latest 
    restart: always 
    ports: 
     - "1521:1521" 
    volumes: 
     - ~/docker/.docker/oracle:/tmp/oracle:ro 
    privileged: true 

ドッカー情報

Containers: 4 
Running: 3 
Paused: 0 
Stopped: 1 
Images: 38 
Server Version: 1.12.1 
Storage Driver: aufs 
Root Dir: /var/lib/docker/aufs 
Backing Filesystem: extfs 
Dirs: 310 
Dirperm1 Supported: true 
Logging Driver: json-file 
Cgroup Driver: cgroupfs 
Plugins: 
Volume: local 
Network: host bridge null overlay 
Swarm: inactive 
Runtimes: runc 
Default Runtime: runc 
Security Options: seccomp 
Kernel Version: 4.4.19-moby 
Operating System: Alpine Linux v3.4 
OSType: linux 
Architecture: x86_64 
CPUs: 6 
Total Memory: 11.71 GiB 
Name: moby 
ID: LBLG:7UQC:W67Q:J744:QAHE:4JLX:QRVB:2QQD:PTB2:MV75:HD6Y:FROD 
Docker Root Dir: /var/lib/docker 
Debug Mode (client): false 
Debug Mode (server): true 
File Descriptors: 50 
Goroutines: 72 
System Time: 2016-09-01T06:51:40.063477725Z 
EventsListeners: 1 
No Proxy: *.local, 169.254/16, *.dev 
Registry: https://index.docker.io/v1/ 
Experimental: true 
Insecure Registries: 
artifactory.service.dev:5000 
127.0.0.0/8 

コマンドコンテナを起動するために使用される:

編集1

-d nginxのをドッキングウィンドウ-構成

おかげ

答えて

2

あなたが使用しているコマンドは何をリストしませんでした。 これは私のために働く。私は自分のiPhoneのIPアドレス(同じWi-Fiネットワーク)を使ってアクセスできます。

docker run -d --name myserver -p 80:80 nginx:1.10-alpine 

編集:サンプル作成ファイル。

サービスの内部にブリッジネットワーク(バックボーン)を作成します。彼らはすべてこのネットワークを通じて通信します。唯一の外部アクセスポイントはあなたのnginxプロキシ経由です(ポート:セクション)。

どこでもipアドレスを使用しないでください(nginx.confなど)。サービス名のみを使用してください。例:oracle:1521を使用してoracleに接続します。

あなたのhtmlファイルを保存する場所を探します。 〜/ docker/.dockerは、ドッカーによってのみ使用されるべきです。

version: "2" 

services: 
    nginx: 
    image: artifactory.service.dev:5000/nginx:latest 
    ports: 
    - "80:80" 
    - "10001-10020:10001-10020" 
    - "8080:8080" 
    volumes: 
    - ~/docker/.docker/nginx/html:/usr/share/nginx/html 
    networks: 
    - backbone 

    redis: 
    image: artifactory.service.dev:5000/redis:latest 
    restart: always 
    expose: 
    - "6379" 
    networks: 
    - backbone 

    activemq: 
    image: artifactory.service.dev:5000/rmohr/activemq:5.11.1 
    restart: always 
    expose: 
    - "61613" 
    - "61616" 
    - "8161" 
    networks: 
    - backbone 

    oracle: 
    image: artifactory.service.dev:5000/oracle-12c:latest 
    restart: always 
    expose: 
    - "1521" 
    volumes: 
    - ~/docker/.docker/oracle:/tmp/oracle:ro 
    privileged: true 
    networks: 
    - backbone 

networks: 

    backbone: 
    driver: bridge 
+0

お返事ありがとうございます。コンテナを起動するために使用しているdocker-composeの設定で質問を更新しました。 –

+0

これは、デフォルトのブリッジネットワーク上で実行されているためです。あなたのnginxサービス定義に 'network_mode:host'を追加してください(' version: "2" 'を使っていると仮定しています。 https://docs.docker.com/compose/overview/ – Alkaline

+0

同じ問題がまだ残っている 'network_mode:host'で私のドッカーの構成を更新しました。 Localhost urlは動作していますが、同じlanネットワーク上のシステムからは動作しません。ドッカーのバージョン2を使用しています。あなたの助けに感謝。 –

関連する問題