$ docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
flaskmvctemplate_flaskapp latest dd65817495ed 2 months ago 946MB
flaskmvctemplate_nginx latest 8edb1e29bdd5 2 months ago 127MB
webfw_nginx latest 8edb1e29bdd5 2 months ago 127MB
redis latest f0453552d7f2 3 months ago 98.2MB
nginx latest a1523e859360 3 months ago 127MB
ubuntu latest 72300a873c2c 3 months ago 64.2MB
wordpress latest f4bb25214386 3 months ago 540MB
mysql 5.7 d5cea958d330 3 months ago 440MB
python 3.6 971c66f6a27f 4 months ago 914MB
openjdk 7 d735a2057e60 13 months ago 475MB
docker image ls \[docker image nameワイルドカード可\]
保持しているdockerイメージの一覧からimage nameで絞り込むことができます。
image nameは「my\*」のようにワイルドカードで指定できます。
$ docker image ls my*
REPOSITORY TAG IMAGE ID CREATED SIZE
mysql 5.7 d5cea958d330 3 months ago 440MB
mysqltest_mysql_test latest d5cea958d330 3 months ago 440MB
docker image rm \[docker image name または image id先頭の一部\]
$ docker image ls api
REPOSITORY TAG IMAGE ID CREATED SIZE
api latest 5621dddee9e7 40 hours ago 965MB
$ docker image rm 5621
Untagged: api:latest
Deleted: sha256:5621dddee9e70a3e8b905c594428ad0a50075ca89a32946fc742dce3a69e52fe
Deleted: sha256:623a6014051264b0c96a721fd91befe559b652c2814b0fbbf0e11d464a2d9e28
Deleted: sha256:ece5be9404b3d5fd84530486e1bb73168b84a843d5c4389a71480b9b55adba39
Deleted: sha256:cf02e22ffc3fd2c95b91791d858aa6c72431884932174bd5d4f5af9895fe48ff
Deleted: sha256:9c2a2defad98451957cdf9e0e4724ce41fdb095684e9ee188877e9df12ceb735
Deleted: sha256:eb59123915564c84fb29b2abe8f1ca148405441bff8f134c451ba69681f42702
Deleted: sha256:bcde4c50a480357d327c348c26f8de4a81b96e41426526bb59a4341f0156bc8c
Deleted: sha256:89d710dcb8853e52ed9b6f2e3803e966602ff35d7b581a3ed57aa43889190ab2
Deleted: sha256:0b1c7c9f56572eb7549193add386173768da94f50ec87a128f38e700b9f6b12d
Deleted: sha256:eb49e1ae02b97d335c4f8a8f7a430c1dbdfa963378cb6234474addbbf5180c39
Deleted: sha256:7ca3ba340bb0970cada527a5a02ab75e4952bb4bf8f7c4c98d6f1576d92f3dbe
Deleted: sha256:93b40b6441d0ca36a6da81b1fcb6a9b0323948d0bd0a8a1c03e81c60d612734f
Deleted: sha256:45dd086ae57c6fd65c977ce9b5b23be7ec7020c4c0fd07a7c22a83ed6c068211
Deleted: sha256:e8b232dc13de22d5046e5b707d279c0f49906f24a9abc17a3edc06edd80f0bc1
$ docker image ls api
REPOSITORY TAG IMAGE ID CREATED SIZE
docker image prune
不要なdocker imageが多数ある場合に、rmコマンドで一つ一つ削除するのは面倒です。
そんなときに、削除しても影響のないdocker imageを全て削除してくれます。
$ docker image prune
WARNING! This will remove all dangling images.
Are you sure you want to continue? [y/N] y
Deleted Images:
deleted: sha256:617580ba5c851e60532cfdf1dd9f4d0063213f5a6d9e47d5359ab387bc39f9d5
deleted: sha256:0432061a44bd1ed0eade1406aa79d84029bb20177b55e400cdc1023d755a66c1
deleted: sha256:33e692b0e5aabfffabbece6af6c664849e6e44eb4d2d24d223b77d50618e7779
deleted: sha256:8725a697163ae1924c28a1a53be54fba83f2d9b3ce43a885783037775e818a70
Total reclaimed space: 153.5MB
$ docker tag 3108fcdd3470 xxx/react-app:v2.3.4
$ docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
xxx/react-app v2.3.4 3108fcdd3470 3 days ago 27.6MB
docker push \[アカウント名/image name:バージョンやタグ名\]
docker hubやAWSのECRにdockerイメージをpushします。
$ docker push xxx/my-nginx:latest
The push refers to repository [docker.io/xxx/my-nginx]
550333325e31: Mounted from library/nginx
22ea89b1a816: Mounted from library/nginx
a4d893caa5c9: Mounted from library/nginx
0338db614b95: Mounted from library/nginx
d0f104dc0a1f: Mounted from library/nginx
latest: digest: sha256:179412c42fe3336e7cdc253ad4a2e03d32f50e3037a860cf5edbeb1aaddb915c size: 1362
docker system prune
「docker image prune」の削除対象はdocker imageだけでしたが、ネットワークやキャッシュも合わせて削除してくれるのが「docker system prune」です。
削除しても影響のないdocker imageやネットワーク、キャッシュを全て削除してくれます。
取り敢えず、ローカル環境を綺麗にしたい場合によく利用します。
docker system prune
WARNING! This will remove:
- all stopped containers
- all networks not used by at least one container
- all dangling images
- all build cache
Are you sure you want to continue? [y/N] y
Deleted Images:
deleted: sha256:617580ba5c851e60532cfdf1dd9f4d0063213f5a6d9e47d5359ab387bc39f9d5
deleted: sha256:0432061a44bd1ed0eade1406aa79d84029bb20177b55e400cdc1023d755a66c1
deleted: sha256:33e692b0e5aabfffabbece6af6c664849e6e44eb4d2d24d223b77d50618e7779
deleted: sha256:8725a697163ae1924c28a1a53be54fba83f2d9b3ce43a885783037775e818a70
Total reclaimed space: 153.5MB
$ docker run -d -p 80:5000 flaskapp
3dbb615cb97eb0f6692595f87e16ce1798010d7a7ee8a560b3e7c13ad6cefe56
$ docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3dbb615cb97e flaskapp "uwsgi --ini /var/ww…" 27 seconds ago Up 25 seconds 0.0.0.0:80->5000/tcp vigorous_mestorf
$ docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
02c11dcb5110 flaskapp "uwsgi --ini /var/ww…" 6 seconds ago Up 5 seconds 5000/tcp optimistic_nobel
$ docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
02c11dcb5110 flaskapp "uwsgi --ini /var/ww…" 6 minutes ago Exited (0) 8 seconds ago optimistic_nobel
$ docker container start 02c1
02c1
$ docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
02c11dcb5110 flaskapp "uwsgi --ini /var/ww…" 7 minutes ago Up 8 seconds 5000/tcp optimistic_nobel
docker container stop \[container id先頭の一部\]
実行中のコンテナを停止する場合のコマンドです。
$ docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
02c11dcb5110 flaskapp "uwsgi --ini /var/ww…" 7 minutes ago Up 8 seconds 5000/tcp optimistic_nobel
$ docker container stop 02c1
02c1
$ docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
02c11dcb5110 flaskapp "uwsgi --ini /var/ww…" 13 minutes ago Exited (0) 3 seconds ago optimistic_nobel
docker container rm \[container id先頭の一部\]
不要になったコンテナを削除する場合のコマンドです。
実行中のコンテナは削除できないので、停止させてから削除します。
$ docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
02c11dcb5110 flaskapp "uwsgi --ini /var/ww…" 15 minutes ago Up 6 seconds 5000/tcp optimistic_nobel
$ docker container stop 02c1
02c1
$ docker container rm 02c1
02c1
$ docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
$ docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
85f7dbe13ea2 flaskapp "uwsgi --ini /var/ww…" 54 seconds ago Exited (0) 3 seconds ago boring_liskov
21d79be1e65e flaskapp "uwsgi --ini /var/ww…" About a minute ago Exited (0) 3 seconds ago nostalgic_euclid
$ docker container prune
WARNING! This will remove all stopped containers.
Are you sure you want to continue? [y/N] y
Deleted Containers:
85f7dbe13ea2692ab6d445da3c61daf304522dcede91b1d3d7fb60490c6b973f
21d79be1e65ee84553b4cea583fc8eb7d489f97228e67cf15e5a5f6811cb91c8
Total reclaimed space: 136.7kB
docker container logs \[container id先頭の一部\]
実行中のコンテナやエラーで停止したコンテナのログを確認するときのコマンドです。
$ docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a311f769d546 flaskapp "uwsgi --ini /var/ww…" 10 seconds ago Up 9 seconds 0.0.0.0:80->5000/tcp lucid_noether
$ docker container logs a311
[uWSGI] getting INI configuration from /var/www/uwsgi.ini
*** Starting uWSGI 2.0.18 (64bit) on [Sun Jun 14 13:04:05 2020] ***
compiled with version: 8.3.0 on 14 June 2020 12:41:03
os: Linux-4.19.84-microsoft-standard #1 SMP Wed Nov 13 11:44:37 UTC 2019
nodename: a311f769d546
machine: x86_64
clock source: unix
pcre jit disabled
detected number of CPU cores: 8
current working directory: /var/www
detected binary path: /usr/local/bin/uwsgi
uWSGI running as root, you can use --uid/--gid/--chroot options
docker exec -it \[container id先頭の一部\] /bin/bash
コンテナの中で作業したり、ビルドした内容を確認する場合に、コンテナ内にログインするコマンドです。
$ docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a311f769d546 flaskapp "uwsgi --ini /var/ww…" 28 minutes ago Up 28 minutes 0.0.0.0:80->5000/tcp lucid_noether
$ docker exec -it a311 /bin/bash
root@a311f769d546:/var/www# ls
Dockerfile database migrate.py settings.py uwsgi.ini
README.md init_data_load.py myapp static
__pycache__ main.py requirements.txt templates
root@a311f769d546:/var/www# exit
exit
$ docker network ls
NETWORK ID NAME DRIVER SCOPE
122d0652aa49 bridge bridge local
0017cd6fbcce host host local
0c064281d227 none null local
docker volume ls
docker-compose でvolumesで指定した一覧を確認できます。
$ docker volume ls
DRIVER VOLUME NAME
local mysqltest_db-data
local webfw_db-data
local webfw_static-data
local webfw_tmp-data
docker volume rm \[volume name\]
volume名を指定して削除するコマンドです。
$ docker volume ls
DRIVER VOLUME NAME
local mysqltest_db-data
local webfw_db-data
local webfw_static-data
local webfw_tmp-data
$ docker volume rm mysqltest_db-data
mysqltest_db-data
$ docker volume ls
DRIVER VOLUME NAME
local webfw_db-data
local webfw_static-data
local webfw_tmp-data
$ docker volume ls
DRIVER VOLUME NAME
local webfw_db-data
local webfw_static-data
local webfw_tmp-data
$ docker volume prune
WARNING! This will remove all volumes not used by at least one container.
Are you sure you want to continue? [y/N] y
Deleted Volumes:
webfw_db-data
webfw_static-data
webfw_tmp-data
Total reclaimed space: 854.2kB
$ docker volume ls
DRIVER VOLUME NAME