2017-01-05 8 views
0

Dockerのコンテナに2つ目のMeteorアプリケーションを実行しようとしています。最初の人(私が望むように実行している人)はlocalhost:3000でアクセス可能で、もう1つはlocalhost:3003のような別のポートで実行したい。私は2番目にアクセスしようとすると、私はこのDockerでtcpを使用する複数のコンテナを起動する方法

This website is not accessible. Localhost don't allow the connexion. Do a research about localhost 3003 on Google.

を持って、私はドッカーに見れば、私は私のコンテナが実行されていることを見ることができます。 enter image description here が、私はポートの違いに気づいた、アクセス可能なものです0.0.0.0:3000->3000/tcpとアクセスできない人は3000/tcp, 0.0.0.0:3003->3003/tcpだから私はここに何か間違っていると思う。

そして、私のドッキングウィンドウ-compose.ymlに私がやった:

app: 
    image: jeromevi/controlcontainersapp 
    ports: 
    - "3003:3003" 
    environment: 
    - ROOT_URL=http://localhost:3003 
    - MONGO_URL=mongodb://mongo:27017/meteor 
mongo: 
    image: mongo:latest 

が助けてくれてありがとう

[EDIT]ログがあります。

=> Starting app on port 3000... 

/opt/meteor/dist/bundle/programs/server/node_modules/fibers/future.js:313 
         throw(ex); 
         ^
MongoError: failed to connect to server [mongo:27017] on first connect 
    at Object.Future.wait (/opt/meteor/dist/bundle/programs/server/node_modules/fibers/future.js:449:15) 
    at new MongoConnection (packages/mongo/mongo_driver.js:219:27) 
    at new MongoInternals.RemoteCollectionDriver (packages/mongo/remote_collection_driver.js:4:16) 
    at Object.<anonymous> (packages/mongo/remote_collection_driver.js:38:10) 
    at Object.defaultRemoteCollectionDriver (packages/underscore.js:784:19) 
    at new Mongo.Collection (packages/mongo/collection.js:103:40) 
    at meteorInstall.both.collections.infosContainers.js (both/collections/infosContainers.js:2:14) 
    at fileEvaluate (packages/modules-runtime.js:181:9) 
    at require (packages/modules-runtime.js:106:16) 
    at /opt/meteor/dist/bundle/programs/server/app/app.js:217:1 
    - - - - - 
    at [object Object].<anonymous> (/opt/meteor/dist/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb-core/lib/topologies/server.js:313:35) 
    at emitOne (events.js:77:13) 
    at [object Object].emit (events.js:169:7) 
    at [object Object].<anonymous> (/opt/meteor/dist/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb-core/lib/connection/pool.js:271:12) 
    at [object Object].g (events.js:260:16) 
    at emitTwo (events.js:87:13) 
    at [object Object].emit (events.js:172:7) 
    at Socket.<anonymous> (/opt/meteor/dist/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb-core/lib/connection/connection.js:165:49) 
    at Socket.g (events.js:260:16) 
    at emitOne (events.js:77:13) 

[EDIT2]とは新しい設定は次のとおりです。 enter image description here

ネットワークtestNtwあります

NETWORK ID   NAME    DRIVER    SCOPE 
6767c4bf208f  bridge    bridge    local 
c69fbc3a59cf  host    host    local 
f6f5083df32e  none    null    local 
3d0aacdbb757  testNtw    bridge    local 

をそして私は答え

答えて

0

と同じドッカ-compose.ymlをした次のことを試してみてください。

version: '2' 
services: 
    app: 
    image: jeromevi/controlcontainersapp 
    ports: 
     - "3003:3000" 
    environment: 
     - ROOT_URL=http://localhost:3000 
     - MONGO_URL=mongodb://mongo:27017/meteor 
    networks: 
     - <your network name> 
    mongo: 
    image: mongo:latest 
    networks: 
     - <your network name> 
networks: 
    <your network name>: 
    external: true 

sudo docker network create <your network name> 

ドッカーがファイルを作曲

ブラウザでこのURLを確認してください:

http://localhost:3003 

明確化

デフォルトでレガシー機能ですlinksを使用する必要がありますネットワーキング。 User-Definedネットワークを使用することをお勧めします。 User-DefinedネットワークにはDNSが組み込まれているので、同じUser-Definedネットワーク上の他のコンテナからコンテナに接続することができます。nameあなたのケースでは、mongoという名前のコンテナは、appという名前のコンテナからアクセスする必要があります。

+0

3秒後にポートが消えてしまい、明らかに – Jerome

+0

のdocker logs 'にアクセスできず、アプリケーションコンテナ用の出力を投稿したことが明らかです –

+0

(申し訳ありませんが、英語では意味がありませんでした...)ログを投稿して助けてくれてありがとう – Jerome

関連する問題