コミュニティソリューション

ZimaOSアプリが使用するポートを確認する:Dockpeek、Dockerポートマッピング、ソケットの罠

A January 2026 thread asking for a GUI list of ports used by ZimaOS applications. Community users suggested Docker inspection and Dockpeek; one tester broke Dockpeek by replacing its required /var/run/docker.sock volume, then confirmed reinstalling it with the original socket mapping restored container visibility.

ZimaOSは、2026年1月のこのスレッド時点では、専用の「すべてのアプリポート」ダッシュボードを提供していなかったため、ユーザーはDockerレベルでの確認や、コミュニティApp StoreのツールであるDockpeekに頼っていました。Dockpeekを使えば、元の投稿者が求めていた概要、つまりコンテナ名、イメージ、公開ポート、ステータス、関連メタデータを1つの表で確認できます。

このスレッドでは、Docker固有の重要な問題も取り上げられていました。あるユーザーは、サードパーティ製アプリのボリュームパスを通常どおり/DATA/AppData/...に変更しようとして、誤ってDockpeek専用のDockerソケットマウントを置き換えてしまいました。アプリ自体は開きましたが、コンテナは表示されませんでした。ソケットのボリュームを変更せずに再インストールすると、一覧が復元されました。

ポート一覧には2つの異なる意味がある

Dockerアプリでは、次の2つを区別すると便利です。

  • コンテナポート: Docker内部でアプリケーションが待ち受けるポート。
  • ホストポート: ZimaOSが自身のネットワークインターフェース上で公開するポート。

ホスト3420 → コンテナ8000というマッピングの場合、アプリケーションはコンテナ内で8000番ポートを使用していますが、ユーザーはZimaOSホストの3420番ポートに接続します。

DockpeekでコンテナポートをGUIから確認できる

ZimaOSのDockerコンテナ、イメージ、公開ポート、ヘルスステータスを一覧表示するDockpeekダッシュボード
Dockpeekによって、どのDockerアプリがどのホストポートを使用しているかを一目で確認できるようになりました。

元のスクリーンショットには、対応するアプリケーション名やイメージとともに、9100、8888、8443、8090、8081、7580などの公開ポートを使用するコンテナが表示されています。

Dockpeekの画面が空でも、Dockerにコンテナがないとは限らない

Dockerソケットのマッピング変更後にコンテナが表示されなくなったDockpeekダッシュボード
あるユーザーは当初、ZimaOSサーバーで多数のアプリケーションが実行されていたにもかかわらず、Dockpeekの一覧が空であることに気付きました。

問題はDockerの検出機能そのものではありませんでした。Dockpeekがデーモンに問い合わせるには、DockerのUnixソケットにアクセスする必要があります。

/var/run/docker.sockは同じコンテナパスにマッピングする

コンテナ内でも/var/run/docker.sockを同じパスにマッピングし、DOCKER_HOSTでUnixソケットを指定しているZimaOSのDockpeek設定
Dockpeekがコンテナを一覧表示するには、ホストのDockerソケットと、それに対応するDOCKER_HOSTの値が必要です。

このボリュームはアプリケーションデータではありません。通常のAppDataフォルダーに置き換えると、DockpeekはDockerデーモンに接続できなくなります。

すべてのボリュームをAppDataに移行してはいけない

このユーザーは、サードパーティ製のApp Storeパッケージを使う中で、ボリュームパスを確認し、永続データを標準のAppDataの場所に移すようになったと説明しています。アプリケーションのデータベースや設定については通常適切ですが、Dockerソケット、デバイス、証明書、ホストシステムファイルなどの特殊なマウントは目的が異なります。

現在のZimaOSでは、通常のアプリケーションデータをホストストレージにマッピングする方法を説明しています。永続データにはこのモデルを使用してください。ただし、コンテナがそのマウントを必要とする理由を理解していない限り、特殊なシステムマウントを書き換えないでください。

使用中のポートは、現在の所有者を特定する必要がある

元の投稿者は、以前のNginxインストール後に80番ポートと443番ポートを解放したいと考えていました。コミュニティの返信では、ZimaOS自体が少なくとも80番ポートを使用している可能性があると推測されていました。ただし、このスレッドには、すべてのバージョンで両方のポートが恒久的に予約されているというIceWhale確認済みのルールはありませんでした。

アプリを削除したりダッシュボードのポートを変更したりする前に、現在のシステム上で実際に待ち受けているプロセス、またはDockerのマッピングを特定してください。

Docker CLIでもポート一覧を作成できる

コミュニティのメンバーは、コンテナ名、イメージ、ポート割り当てを一覧表示し、テキストファイルに書き出せるDockerコマンドを共有しました。これらはIceWhaleの公式手順ではなくコミュニティが作成したものなので、このページでは具体的なシェルパイプラインをZimaOSの公式手順として示すのではなく、その考え方だけを紹介します。

ターミナルを好むユーザーは、Dockerのコンテナインスペクションによって、Dockpeekが可視化している基礎データを確認できます。

Dockerソケットへのアクセスには強い権限がある

/var/run/docker.sockにアクセスできるコンテナは、アプリケーションの動作によってはDockerデーモンを検査したり、制御したりできます。Dockpeekなどの管理ツールは、通常のWebアプリではなく、権限の強いインフラストラクチャとして扱ってください。

認証と適切なアクセス制御層を設けずに、DockpeekのWebUIをインターネット上に公開しないでください。

ZimaOSのポート表示に関するFAQ

Dockpeekで、公開されたDockerポートをどのZimaOSアプリが所有しているか確認できますか?

はい。元のスクリーンショットには、コンテナ名、イメージ、ポートマッピング、ステータスがまとめて表示されています。

あるユーザーのDockpeekにコンテナが表示されなかったのはなぜですか?

必要な/var/run/docker.sockボリュームを変更したためです。この特殊なマウントを変更せずに再インストールすると、一覧が復元されました。

サードパーティ製アプリのボリュームはすべて/DATA/AppDataに移すべきですか?

いいえ。永続的なアプリデータはそこに置くことが多いですが、Dockerソケットなどの特殊なマウントは、意図されたホストリソースを維持する必要があります。