Docker イメージでポートを開くにはどうすればよいですか?

Docker イメージでポートを開くにはどうすればよいですか?

私のプロジェクトでは、ここに示すように Docker ファイルを使用しています。

https://github.com/jamiepratt/embedded-repl/blob/master/docker-compose.yml

コンテナを次のように起動します。

docker-compose up app

しかし、ソケットに接続できません。何が間違っているのかわかりません。

ローカル システム上でも、Docker コンテナーをサーバー上に配置した場合にも、ポートにアクセスできません。

次のものを見た後docker-compose up app:

 docker container ls
 CONTAINER ID   IMAGE                            COMMAND                  CREATED          STATUS          PORTS                                                                                NAMES
 886341940c74   embedded-repl_app                "entrypoint java -ja…"   30 minutes ago   Up 30 minutes   0.0.0.0:2001->54654/tcp, :::2001->54654/tcp                                          embedded-repl_app_1

しかし、その後 Telnet を試みると:

telnet localhost 2001
Trying ::1...
Connected to localhost.
Escape character is '^]'.
Connection closed by foreign host.

答え1

間違っているかもしれませんが、これはアプリケーション自体が接続を閉じるときに発生する問題のようです。

Connected to localhost.
Escape character is '^]'.

上記の行は、telnet が docker に接続しているが、その後アプリケーションが接続を閉じていることを示しています。

関連情報