Docker コンテナのポートを一覧表示する

DockerBeginner
オンラインで実践に進む

はじめに

19 世紀のビクトリア時代を舞台に、参加者が霊媒師の役割を演じるシーンを想像してみてください。背景は神秘的なビクトリア様式の邸宅で、霊媒師の目標は、Docker 化されたコンテナの秘密を解き明かすことで、この世を超えた霊を呼び起こすことです。

Docker コンテナのポートを調べる

このステップでは、まず Docker コンテナを起動してから、その公開ポートを調べます。

まず、簡単な Nginx コンテナを起動しましょう。

docker run -d -p 8080:80 --name my-nginx nginx

次に、コンテナがリッスンしているポートを調べます。

docker port my-nginx

期待される出力は、コンテナのポートとホストマシンのポートのマッピングを表示するはずです。

80/tcp - > 0.0.0.0:8080
80/tcp - > :::8080

カスタムポートでテストする

このステップでは、Docker コンテナ内でカスタムの Python アプリケーションを実行し、カスタムポートを公開します。

まず、app.pyという名前のファイルに簡単な Python アプリケーションを作成します。

from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello, Docker!'

if __name__ == '__main__':
    app.run(host="0.0.0.0", debug=True)

Python アプリケーション用のイメージをビルドするために、次の内容のDockerfileを作成します。

FROM python:3.8
WORKDIR /app
COPY. /app
RUN pip install flask
EXPOSE 5000
CMD ["python", "app.py"]

次に、Docker イメージをビルドして、公開ポート 5000 を公開した状態で実行し、ホストの 8081 に公開ポートをマッピングします。

docker build -t my-python-app.
docker run -itd -p 8081:5000 --name python-app my-python-app

コンテナが実行されたら、アプリケーションにアクセスできるかどうかをテストします。トップメニューに Web サービスマッピングを追加して、URL にアクセスします。

まとめ

この実験では、参加者は Docker におけるコンテナのポートを一覧表示する方法を探索し理解する旅に出ました。Docker コンテナのポートを作成し調べることで、彼らは Docker コンテナのネットワーキング機能に関する貴重な洞察を得ました。これにより、彼らはコンテナの展開をより良く管理しトラブルシューティングすることができます。