私は最初に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イメージの再起動に失敗したのはなぜですか?修正方法は?
なぜなら
--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>
エラーが言うように。
その名前を再利用できるようにするには、そのコンテナを削除(または名前を変更)する必要があります
これには2つのオプションがあります。
次のコマンドを使用して、名前「webserver」を使用しているコンテナを削除できます。
docker rm 036a0bcd196c5b23431dcd9876cac62082063bf62a492145dd8a55141f4dfd74
再試行してください。
不要なdockerを削除して、名前を再利用することをお勧めします。