1. 概要
Dockerのコマンドについてよく忘れるので、備忘録として残します
2. コマンド
DockerImageの検索
$ docker search [SEARCH NAME]
DockerImageの取得
$ docker pull [IMAGE NAME]:[TAG NAME]
DockerImageの確認
$ docker images
DockerImageの詳細確認
$ docker inspect [IMAGE ID]
Dockerコンテナ生成
$ docker create [IMAGE ID]
Dockerコンテナ起動
$ docker start [IMAGE ID]
Dockerコンテナ生成&起動
生成から起動まで行う場合は以下コマンド
$ docker run [IMAGE ID]
起動済みコンテナへ入る
$ docker exec -it [CONTAINER ID] /bin/bash
Dockerコンテナ停止
$ docker stop [IMAGE ID]
Dockerコンテナ削除
$ docker rm [IMAGE ID]
DockerImageの削除
$ docker rmi [IMAGE ID]
使っていないDockerImageをまとめて削除
docker image prune コマンドは、使っていないイメージをクリーンアップできます。デフォルトの docker image prune は、宙ぶらりんイメージ(dangling 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:5cabbc41e6debbb4fbf0935ab90a15e450717ee7780545fe0de02b80210b9949
deleted: sha256:d8c024a34bab956f544814840f7e5b09779287f95c88a77a1d875e0f60ac389b
deleted: sha256:d9b5843bdd900077db5cc413a0826b6553f32e157daaad7b8a8dd1c6ed07d9e6
Total reclaimed space: 0B
Data Volume
例:mysqlのデータの場合
# DataVolumeの作成
$ docker volume create --name mysql_data
# DataVolumeの確認
$ docker volume ls
DRIVER VOLUME NAME
local mysql_data
# DataVolumeの削除
$ docker volume rm mysql_data
# どのコンテナでも使われていないボリュームの削除
docker volume ls -f "dangling=true" -q | xargs docker volume rm
# ホストからDockerコンテナへファイルコピー
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8e207408e15f mysql "docker-entrypoint.s…" 4 months ago Up 15 hours 0.0.0.0:3306->3306/tcp mysql
$ docker cp sampleData20180902.csv 8e207408e15f:/home/xxx/sampleData20180902.csv