👻

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