掲載済み (2026-02-28号)
#207 118文字 • 1分

もうポート番号は覚えない ── Docker Compose のポート競合を消す CLI「tug」を作った

日本語

掲載情報

概要

Docker Composeのポート競合問題を、Traefikによる自動URL割り当てとハッシュベースのTCPポート固定によって解決するCLIツール「tug」の紹介。

詳細内容

Docker Composeを利用する開発環境、特にgit worktreeで同一プロジェクトを複数同時に立ち上げる際に発生する「ポート競合」を自動解決するツール「tug」の解説記事です。tugは既存のcompose.yamlを編集することなく、HTTPサービスにはTraefikを介してプロジェクト名に基づいた「*.localhost」URLを付与し、TCPサービス(DB等)にはプロジェクト名やサービス名から算出される決定論的なポート番号を自動で割り振ります。内部的には.tug/override.yamlを自動生成してdocker composeをラップして実行する仕組みで、ポート管理の手間を完全に排除することを目指しています。