2017-05-31 7 views
2

を呼び出すことができますローカルホストとコンソールアプリケーションはAPIを呼び出す際に問題はありません。ただし、これらの2つがDockerizedであることはわかりません.Dockerized APIのUrlをDockerized Consoleアプリケーションで使用できるようにするにはどうすればよいですか?方法1個のドッカーコンテナが、私は私のローカルWeb APIの今</li> </ol> <p>のWeb APIを呼び出すウェブAPI</li> <li>Aコンソールアプリケーションは、2つのドッカーコンテナ</p> <ol> <li>を持つ別のドッカーコンテナ

私はAPIの引数のでDockerized API's URLがDockerized Console

任意のアイデアからアクセス可能であることを確認し、そのだけの問題として、APIのURLを渡していますので、私はドッカー作曲を必要としないと思います?

答えて

2

作成機能を使用すると問題は簡単に解決できます。ちょうどこのようupを呼び出し、それを実行するようにするには

version: '3' 
services: 
    db: 
    image: postgres 
    web: 
    build: . 
    command: python3 manage.py runserver 0.0.0.0:8000 
    volumes: 
     - .:/code 
    ports: 
     - "8000:8000" 
    depends_on: 
     - db 

docker-compose up 

これは、すべてのスタックを実行するための最良の方法であるコンを使用すると、ちょうどこのようなものの構成ファイル(docker-compose.yml)を作成しますしたがって、この参照を確認してください: https://docs.docker.com/compose/

成功!

2

アイデアはURLを渡すのではなく、呼び出す他のコンテナのホスト名です。
は作曲アプリのための単一のネットワークを設定しますデフォルトでは

Networking in Composeを参照してください。サービスの各コンテナは、デフォルトのネットワークに参加し、そのネットワーク上の他のコンテナによって到達可能であり、コンテナ名と同一のホスト名でそのコンテナによって検出可能です。

これはdeprecated --link optionの代わりです。

コンテナが単一のDockerサーバーノードで実行されていない場合、Docker Swarm Modeは複数のノードにわたってその検出を有効にします。

2

あなたはdocker runlinkオプションを使用することができます。

docker run -d --name api api_image 

実行クライアント:

は、APIを実行します

docker run --link api busybox ping api 

あなたはapiがドッキングウィンドウで解決できることを確認する必要があります。

つまり、docker-composeに行くことは、まだ良い選択肢です。

関連する問題

 関連する問題