5

Docker Desktop for Macを使用し、ホスト マシンでコンテナーを実行しています。ホスト マシンの localhost 経由でコンテナーにアクセスできます。ただし、LAN 上の他のシステムからは利用できません。

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

他のシステムがホスト マシン上のコンテナーにアクセスできるようにしたい。

編集 1: docker-compose 構成と「docker info」コマンド出力の追加

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

コンテナの起動に使用するコマンド:

docker-compose up -d nginx
4

1 に答える 1

4

使用しているコマンドをリストしませんでした。これは私にとってはうまくいきます。iPhone から Mac の IP アドレスを使用してアクセスできます (同じ Wi-Fi ネットワーク)。

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

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

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

どこでも IP アドレスを使用しないでください (nginx.conf など)。サービス名のみを使用してください。たとえばoracle:1521、Oracle への接続に使用します。

HTMLファイルを保存する別の場所を見つけてください。~/docker/.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
于 2016-09-01T02:58:18.097 に答える