Dockerを使っていると、よくコンテナを作ろうとした際にポート番号がすでに使われていることがあります。
Docker同士でぶつかっている場合にはDocker psコマンドで確認できますが、 Docker以外のサービスで利用している場合の確認方法についてメモです。
想定するパターン
Dockerでコンテナを作成すると「address already in use」と表示されるけど他のコンテナでは使ってないような時があります。
#docker-compose up -d
・
(略)
・
ERROR for netbox-docker_nginx_1 Cannot start service nginx : driver failed programming
(略)
: listen tcp 0.0.0.0:8081 : bind : address already in use
確認方法
lsofコマンドを使うことで何で使われてるか分かります。今回は例として8081ポートが何で使われているか調べてみます。
# lsof -i:8081
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
macmnsrv 19222 mfe 19u IPv6 823839 0t0 TCP *:tproxy(LISTEN)
macmnsrvが使っているサービスです。調べてみるとMcAfeeのウイルススキャンソフトで利用されているということが分かりました。
今回は以上となります。
コメント