停止中のコンテナをまとめて削除する
下記のLinuxコマンドで停止中のコンテナをまとめて削除することができる。
$ docker rm $(docker ps -q -f status=exited)
runコマンドが効いていない(コンテナが作成できない) | Docker Desktop for Windows
Power Shellにて下記のコマンドを実行する。
Invoke-WebRequest https://aka.ms/Debug-ContainerHost.ps1 -UseBasicParsing | Invoke-Expression
参考サイト
イメージをまとめて削除する
$docker rm `docker ps -f "status=exited" -q`
コンテナを再スタートする | docker restart コンテナ名
$ docker restart コンテナ名(または、コンテナID)
例
$ docker restart 069863c72e56
現在、起動しているDockerのコンテナを一覧表示(停止中のコンテナも一覧表示可)| docker ps
コンテナを一覧表示
$ docker ps
停止中のコンテナも一覧表示する場合
$ docker ps -a
コンテナを停止する | docker stop コンテナID
docker stop コンテナ名もしくはコンテナID
停止するまで5分くらいかかるので注意。(無反応の時間が長く、フリーズと勘違いしてしまう。)
例)コンテナIDが069863c72e56である場合
docker stop 069863c72e56
docker ps -a」コマンドで実行するとコンテナが停止していることが確認できる。STATUSがExited(終了しました)になっている。
docker stopコマンドが反応しない場合、restartコマンドでコンテナを再起動することにより治ることがある。
docker restart 069863c72e56
再スタートする場合
docker start 069863c72e56
どうしても反応しない場合、Dockerアプリ(Docker Desktop)を再起動する。
Windows右下にある常駐アイコン(クジラアイコン)の右クリック、続いて「Restart」をクリックすることにより、再起動できる。
docker runのエラー | no matching manifest for windows/amd64 10.0.18362 in the manifest list entries
ボリュームは永続するデータの保存先である。
コンテナとボリュームは兄弟関係のようなもの。または、パソコンと外部HDDの関係に似ている。
通常、コンテナ内のデータ(ファイルなど)はコンテナが削除されるとデータも一緒に消える。
データベースなどコンテナを削除してもデータを消したくない場合、ボリュームを用いる。
ボリュームからデータが消えないのはホストPC(普段のPC環境)にデータを保存しているからである。
コンテナでボリュームを用いる
「docker run」でコンテナを作成する際、「-v 〇〇」のような形でボリュームを指定することになる。
docker runでのボリューム指定の例
docker run -it --name test_name -p 8080:80 -v c:/Users/user_xxx/git:/var/www/html test_image:5.6
「-v」でホストPCのディレクトリとコンテナ内のディレクトリを結び付けている。
「c:/Users/user_xxx/git」はホストPCのディレクトリであり、「/var/www/html」はコンテナ内でのディレクトリである。
xxx
- ホーム
- プログラミングの覚書
- Dockerの覚書 | ワクガンス