Closed1

[記事未満] docker-compose で driver failed programming external connectivity で起動できない

mnodmnod

状況

原因不明でコンテナが落ちたようで、確認したら以下の状態だった。

$ sudo docker-compose ps joplin
    Name                Command             State     Ports
-----------------------------------------------------------
work_joplin_1   tini -- node dist/app.js   Exit 255

とりあえず復旧を試みるも、driver failed programming external connectivity と言われる。

$ sudo docker-compose start joplin
Starting joplin ...
Starting joplin ... error

ERROR: for joplin  Cannot start service joplin: driver failed programming external connectivity on endpoint work_joplin_1 (a96394b9d6452c5526ff17154d3c397e30610d84e618f69bef62c5505a9a4a8b): Bind for 0.0.0.0:22300 failed: port is already allocated
ERROR: No containers to start
ERROR: 1

port is already allocated とあるので、とりあえず確認。docker-proxy が掴んではなさない。

$ sudo ss -apn | grep 22300
tcp   LISTEN    0      4096                                                                              0.0.0.0:22300             0.0.0.0:*      users:(("docker-proxy",pid=1091,fd=4))                                                     
tcp   TIME-WAIT 0      0                                                                              172.17.0.1:22300          172.21.0.9:49620                                                                                             
tcp   LISTEN    0      4096                                                                                 [::]:22300                [::]:*      users:(("docker-proxy",pid=1095,fd=4))                                                     

対応

docker-compose で複数コンテナ動かしていて影響範囲が広いのだけど、docker デーモンの再起動で復旧した。

$ sudo systemctl restart docker
このスクラップは2024/05/10にクローズされました