web-dev-qa-db-ja.com

Dockerコンテナの再起動に失敗しました:「既に使用中」ですが、Dockerイメージはもうありません

私は最初にnginx docker imageを手に入れました:

docker pull nginx

それから私はそれを始めました:

docker run -d -p 80:80 --name webserver nginx

それから私はそれを止めました:

docker stop webserver

それから私はそれを再起動しようとしました:

$docker run -d -p 80:80 --name webserver nginx
docker: Error response from daemon: Conflict. The container name "/webserver" is already in use by container 036a0bcd196c5b23431dcd9876cac62082063bf62a492145dd8a55141f4dfd74. You have to remove (or rename) that container to be able to reuse that name..
See 'docker run --help'.

まあ、それはエラーです。しかし、実際にはコンテナリストには何もありません。

docker container list
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

Nginxイメージの再起動に失敗したのはなぜですか?修正方法は?

36
Hind Forsum

なぜなら

  • --nameスイッチを使用しました。
  • コンテナは停止され、削除されません

止まってる

docker ps -a

以下のコマンドを使用して簡単に起動できます:

docker start webserver

編集:代替案毎回以下のコマンドでコンテナを開始したい場合、

docker run -d -p 80:80 --name webserver nginx

次に、次のいずれかを使用します。

方法1: use --rmスイッチ、つまり、コンテナは停止するとすぐに自動的に破棄されます

docker run -d -p 80:80 --rm --name webserver nginx

方法2:コンテナを停止した後、現在使用しているコマンドを開始する前に明示的に削除します。

docker stop <container name>
docker rm <container name>
67
Rao

エラーが言うように。

その名前を再利用できるようにするには、そのコンテナを削除(または名前を変更)する必要があります

これには2つのオプションがあります。

  • 次のコマンドを使用して、名前「webserver」を使用しているコンテナを削除できます。

    docker rm 036a0bcd196c5b23431dcd9876cac62082063bf62a492145dd8a55141f4dfd74

再試行してください。

  • または、実行コマンド中に別の名前を使用することもできます。 Dockerが不要になったため、これはお勧めしません。

不要なdockerを削除して、名前を再利用することをお勧めします。

5
Neeraj