概要
コンテナを立ち上げるときにエラーが起きたので、その対処法とコマンドをまとめておきます。
エラー文
ターミナル
Error response from daemon: Conflict. The container name "コンテナ名" is already in use by container "コンテナID". You have to remove (or rename) that container to be able to reuse that name.
コンテナがすでにあるので、名前を変更するか削除するかしてください。要するに同じコンテナ名は複数つくれないということですね!!
仮説
- 動作しているコンテナ一覧を見る。
- 動作を止め、コンテナ削除。
必要になるコマンド
Dockerコマンド | 備考 |
---|---|
docker ps |
動作中コンテナ一覧 |
docker ps -a | コンテナ一覧 |
docker stop コンテナID | 動作しているコンテナをストップ |
docker rm (-f) コンテナID | 停止しているコンテナを削除 ※-fオプションを付けると強制削除 |
注意が必要なのが、コンテナをストップしてからでないとコンテナ削除ができないこと。
動作しているコンテナを停止コマンドで停止させたあと、そのまま削除するのではなく、動作していたコンテナが停止できたのか?を確認をしてから削除する。また、削除に成功したあとも削除できたのか確認する。
もしくは-f
オプションで強制的に削除してしまえばコンテナ起動中でも削除可能。
このようにいちいち確認する癖をつけておけば後で痛い目に合う確率が減ると思いました。
再度コンテナ作成
Cookieが大きいというエラー。読み取るとおそらくCookieが溜まってるから削除して!!という感じだと思います。
早速溜まったCookieを削除し挙動を確認。
仮説通りnginxコンテナを実行することができました!!
まとめ
- コンテナは同じ名前のものを作ることができない。
- コンテナ削除とイメージ削除で少しコマンドが違う(
rmi
かrm
)ので削除に失敗しても落ち着く。 -
rmi
のi
はイメージのことでi
をremoving
(取り除く)ということ。 - コマンドを打ったあと挙動が正しいか確認する癖をつける。
参考文献
この記事は以下の情報を参考にして執筆しました。