0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Docker】「存在しない」コンテナ名が衝突する場合の解決方法

Last updated at Posted at 2025-05-05

概要

 この記事は以下の状態に陥っている方に向けたものです。

  • docker run --name (コンテナ名) ...で実行したときに以下のエラーが出た
コンテナの名前が衝突している
Error response from daemon: Conflict. The container name (コンテナ名) is already in use by container (コンテナID) ...
  • その上でdocker ps -aを実行し、停止中を含めたすべてのコンテナ名の一覧を確認したが、先ほどのコンテナ名は存在しなかった
  • docker ps -aでは表示されなかったが、実際には存在しているのではと考え、docker stop (コンテナ名 or コンテナID)docker rm (コンテナ名 or コンテナID)を実行したが、以下のエラーが出た
そのような名前のコンテナはない
Error response from daemon: No such container: (コンテナ名 or コンテナID)

 コンテナ名が衝突しているのに、その名前を持つコンテナが見当たらないという状況です。
 レアケースなため、英語含め、どのサイトにもあまり解決方法が書かれていません。(1件だけ見つけましたが見失いました。かろうじてその解決方法は覚えていたので後で示します。)
 そんな状況の解決方法を見ていきましょう。

解決方法

 以下のコマンドを実行し、停止中のコンテナをすべて消します。

terminal
docker container prune

 これを行うと、衝突のエラー時に表示されたコンテナIDが一緒に消された旨の表示が出ます。
 その後にdocker run --name (コンテナ名) ...を行うと、私の場合は衝突せずに実行できました。

 停止中のコンテナで消してはいけないものがあった場合にはstartで実行状態に戻したり必要なログだけ取ったりしたうえで消しましょう。

解決方法2

 こちらは私が見失った英語のサイトに書かれていた唯一の方法です。他のコンテナを止める必要があるので上で無理だった場合に試すのがおすすめです。
 以下のコマンドでDockerを再起動します。

terminal
sudo systemctl restart docker

 これでキャッシュとか色々なものがきれいになって動くかもしれません。
 これでダメだった場合はOS自体の再起動で治るかもしれません。

環境

 参考までに覚えている範囲で書いておきます。

  • OS: Ubuntu 24.04
  • Docker: 忘れた(気が向いたら追記します)

おわりに

 Dockerで容量が足りないとか言われた場合にも、今回紹介したprune系のコマンド(containerだけでなく、imageやnetworkにも存在する)が効いたりします。
 便利なコマンドなのでいざというときに思い出してあげてください。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?