質問: Windows PowerShellにて、python3.8の環境を取得後、以下のコマンドを実行してもエラーが発生する。 尚、python3.8の環境を取得については、取得中にエラーが発生したので、再度、pullコマンド実行にて取得は完了。 また、dockerは、スタートメニューより、起動操作を行っています。・・・クジラの表示のアンテナのようなものは動いている状態です。 処置方法について、ご教示願います。 ``` PS C:\Windows\system32> docker run --name python38 -i -t python:3.8 /bin/bash C:\Program Files\Docker\Docker\resources\bin\docker.exe: Error response from daemon: Conflict. The container name "/python38" is already in use by container "d1211999633dfda8a20fff1669c747789dcf2d05f3c96cd9a055f29937ec2aca". You have to remove (or rename) that container to be able to reuse that name. See 'C:\Program Files\Docker\Docker\resources\bin\docker.exe run --help'. PS C:\Windows\system32> ```
回答: (自分の環境はWindowsではないのですが、概ね同じ表示になるかと思います) 初回、 ``` docker run --name python38 -i -t python:3.8 /bin/bash ``` を実行した後、 `exit` 等で bash から抜けるとこのコンテナは停止します。 が、削除されるわけではありません。 `docker ps`コマンドに`-a`オプションを付けると停止したコンテナを含めて一覧表示できます。 ``` $ docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 5305dd66b533 python:3.8 "/bin/bash" 8 seconds ago Exited (0) 4 seconds ago python38 ``` この状態で冒頭のコマンドを再度実行すると、そのようなエラーになります。 おそらく前回実行したコンテナはもう不要だと思うので、削除すればエラーは解消します。 ``` docker rm python38 ``` コマンドで削除できます(参考)。 削除すれば名前の衝突が解消されますので、また`pyhon38`という名前でコンテナを作成できるようになります。 冒頭の`docker run` コマンドに `--rm` オプションを指定しておけば、コンテナ停止時に自動で削除されます(参考)。 こちらも今回有用かもしれません。