👻
Dockerでコンテナ間通信をする方法
これは何?
Dockerでコンテナ間通信をする方法を記載します。
手順
Dockerでコンテナ間通信を行う場合、基本的にDockerネットワークを作成し、通信を送受信するコンテナをDockerネットワークに所属させる必要があります。
まずは、Dockerネットワークを作成します。
$ docker network create ocha-network
次に受信側のDockerコンテナを起動します。
$ docker run --network=ocha-network -p 4567:4567 1s22s1/sinatra_app
最後に送信側のDockerコンテナを起動します。注意点としては、http:// の後の「69884d6b098a」は受信側のDokcerコンテナのIDだということです。
$ docker run --network=ocha-network --rm curlimages/curl http://3d41f20fdaf8:4567
感想
Dockerfile上でEXPOSE 4567と記載しましたが、ポートが意図通りに公開されていなくて少しはまりました。公式ドキュメントを読むと、製作者の意図を明示する項目らしいです。
Discussion