デフォルト TCP ポートで Docker Model Runner を有効化
このステップでは、Docker デーモンがデフォルトの TCP ポートで接続をリッスンするように有効化する方法を学びます。デフォルトでは、Docker デーモンは Unix ソケット経由で通信します。これはローカルアクセスにとってより安全です。しかし、リモートアクセスや特定のユースケースでは、TCP を有効化する必要がある場合があります。
Docker デーモンが TCP ポートでリッスンするようにするには、設定ファイルを修正する必要があります。Docker の主要な設定ファイルは通常/etc/docker/daemon.json
にあります。このファイルが存在しない場合は作成できます。
まず、daemon.json
ファイルが存在するか確認しましょう。ls
コマンドを使用します。
ls /etc/docker/daemon.json
ファイルが存在する場合、コマンドはそのパスを出力します。存在しない場合は、ファイルまたはディレクトリが見つからないというエラーメッセージが表示されます。
次に、nano
エディタを使用して/etc/docker/daemon.json
ファイルを編集または作成します。hosts
キーを追加または修正して、TCP アドレスとポートを含めます。Docker のデフォルト TCP ポートは 2375(暗号化なし)または 2376(TLS 暗号化)です。このステップでは、簡略化のため暗号化なしのポート 2375 を使用します。
nano
でファイルを開きます:
sudo nano /etc/docker/daemon.json
ファイルが空または存在しなかった場合、以下の内容を追加します。ファイルに既に内容があった場合は、hosts
キーを追加または修正して"tcp://0.0.0.0:2375"
を含めます。unix:///var/run/docker.sock
エントリは、デーモンがデフォルトの Unix ソケットでもリッスンし続けることを保証します。
{
"hosts": ["unix:///var/run/docker.sock", "tcp://0.0.0.0:2375"]
}
内容を追加または修正した後、Ctrl + X
を押し、Y
で確認し、Enter
でファイル名に書き込むことで保存します。
変更を有効にするには、Docker サービスを再起動する必要があります。systemctl
コマンドを使用して行います。
sudo systemctl restart docker
Docker サービスを再起動した後、ss
コマンドを使用してリッスンしているソケットを確認することで、TCP ポートでリッスンしていることを検証できます。ポート 2375 でリッスンしているプロセスを探します。
sudo ss -tuln | grep 2375
Docker デーモンがポート 2375 で正常にリッスンしている場合、そのポートでリッスンしているプロセスを示す以下のような出力が表示されます:
tcp LISTEN 0 4096 0.0.0.0:2375 0.0.0.0:*
これにより、Docker デーモンがポート 2375 で TCP 経由でアクセス可能になったことが確認できます。