よく使う物だけを抜粋したdockerコマンドの使い方とオプションの一覧まとめ
よく使用するものだけを抜粋したdockerコマンド
の一覧まとめをメモしました。
Docker(ドッカー)
Dockerとは
Dockerとはオープンソースのコンテナ型の仮想化技術のプラットフォームになります。
プラットフォームとしてアプリケーションを作成したり、配布したり、実行したりすることができます。
公式サイト
Dockerのインストール手順
Dockerのインストール手順についてはこちらを参照ください。
Mac に Docker Desktop をインストール
CentOS7へDocker環境を構築
docker-compose コマンド
docker-compose コマンドの使い方についてはこちらを参照ください。
docker-composeコマンドの使い方
環境
- Mac OS Big SUR 11.3.1
- Docker 20.10.5, build 55c4c88
ファイル操作で利用するUnixコマンドについて
基本的なディレクトリ作成やファイル操作はUnixコマンドを利用します。
Unixコマンドについて詳しくはこちらの記事を参考にしてください。
Docker 管理コマンド
docker info
Docker のインストールに関する広範囲なシステム情報を表示します。
terminal$ docker info
docker version
Dockerのバージョン情報を読みやすい形式で表示します。
terminal$ docker version
Docker イメージ用コマンド
docker images
Dockerイメージの一覧を表示します。
使い方
terminal$ docker images [オプション] [リポジトリ[:タグ]]
直近で作成したDockerイメージから一覧表示
トップ・レベルのDockerイメージと、リポジトリ・タグ・容量を表示します。
terminal$ docker images
Dockerイメージ名を指定して一覧表示
Dockerイメージ一覧からnode
という条件が一致するものだけ表示します。
terminal$ docker images node
docker build
パスにあるソースコードから新しいDockerイメージを構築します。
使い方
terminal$ docker build [オプション] パス | URL | -
PATH で構築
Dockerfile
を配置したディレクトリで実行します。
terminal$ docker build .
URL で構築
GitHubリポジトリのクローンを作成、クローンしたリポジトリをコンテクストとして利用します。
リポジトリのルートにあるDockerfile
を構築時のDockerfile
として利用します。
shell$ docker build github.com/creack/docker-firefox
docker commit
リポジトリ内のDockerイメージにタグ付けします。
使い方
terminal$ docker tag [オプション] 名前[:タグ] 名前[:タグ]
ID を参照してイメージをタグ付け
ローカルにあるID「0e5574283393」イメージを、「fedora」リポジトリの「version1.0」とタグ付けします。
terminal$ docker tag 0e5574283393 fedora/httpd:version1.0
名前を参照してイメージをタグ付け
ローカルにある名前が 「httpd」のイメージを、「fedora」リポジトリの「version 1.0」とタグ付けします。
terminal$ docker tag httpd fedora/httpd:version1.0
docker rmi
1つまたは複数のDockerイメージを削除します。
使い方
terminal$ docker rmi [オプション] イメージ [イメージ...]
Dockerイメージを削除
ID、タグ、digest を使ってDockerイメージを削除できます。 Dockerイメージがタグによって参照されている場合、Dockerイメージを削除する前にそれらの削除が必要です。
terminal$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
test1 latest fd484f19954f 23 seconds ago 7 B (virtual 4.964 MB)
test latest fd484f19954f 23 seconds ago 7 B (virtual 4.964 MB)
test2 latest fd484f19954f 23 seconds ago 7 B (virtual 4.964 MB)
$ docker rmi test1
Untagged: test1:latest
$ docker rmi test2
Untagged: test2:latest
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
test latest fd484f19954f 23 seconds ago 7 B (virtual 4.964 MB)
$ docker rmi test
Untagged: test:latest
Deleted: fd484f19954f4920da7ff372b5067f5b7ddb2fd3830cecd17b96ea9e286ba5b8
イメージを強制削除
terminal$ docker rmi -f test1
Docker コンテナ用 コマンド
docker ps
現在起動しているDockerコンテナの一覧を確認します。
使い方
terminal$ docker ps [オプション]
実行中のDockerコンテナ一覧を表示
実行中のDockerコンテナ一覧を表示します。
terminal$ docker ps
全てのDockerコンテナ一覧を表示
-a
オプションをつけて停止しているDockerコンテナも含めた全てのDockerコンテナ一覧を表示します。
terminal$ docker ps -a
docker create
イメージからDockerコンテナを作成します。
使い方
terminal$ docker create [オプション] イメージ [コマンド] [引数...]
Dockerコンテナを作成
app
というDockerコンテナをNodeJS
のイメージを元に作成します。
起動はしません。
terminal$ docker create -d -it --name app node:7
docker start
作成されているDocker コンテナを起動します。
使い方
terminal$ ddocker start [オプション] コンテナ [コンテナ...]
Docker コンテナを起動
app
というDockerコンテナを起動します。
terminal$ docker start app
docker exec
実行中のDockerコンテナでコマンドを実行します。
使い方
terminal$ docker exec [オプション] コンテナ コマンド [引数...]
Dockerコンテナの中でコマンド実行
app
という名前のDockerコンテナでコマンドを実行します。
terminal$ docker exec app ls
コンテナへログイン
app
という名前のDockerコンテナの中に入ります。
terminal$ docker exec -it app bash
docker logs
コンテナのログを表示します。
使い方
terminal$ docker logs [オプション] コンテナ
Dockerコンテナのログを表示
app
という名前のDockerコンテナのログを表示します。
terminal$ docker logs app
Dockerコンテナのログをたら流し表示
-f
オプションをつけてapp
という名前のDockerコンテナのログを垂れ流しで表示します。
terminal$ docker logs -f app
docker run
指定イメージを元に新しいDockerコンテナを起動状態で立ち上げます。
使い方
terminal$ docker run [オプション] イメージ [コマンド] [引数...]
Docker コンテナを立ち上げログイン
app
というDockerコンテナをNodeJS
のイメージをもとに作成しコンテナへログインします。
terminal$ docker run -it --name app node:16
docker stop
Docker コンテナを停止します。
使い方
terminal$ ddocker stop [オプション] コンテナ [コンテナ...]
Docker コンテナを停止
app
というDockerコンテナを停止します。
terminal$ docker stop app
docker rm
1つまたは複数のDockerコンテナを削除します。
使い方
terminal$ docker rm [オプション] コンテナ [コンテナ...]
Dockerコンテナを削除
app
というDockerコンテナを削除します。
terminal$ docker rm app
全てのDockerコンテナ削除を表示
停止しているDockerコンテナを全て削除します。
docker ps -a -q
コマンドは終了した全てのコンテナIDをrmコマンドに渡し
全て削除するものです。実行中のDockerコンテナは削除されません。
terminal$ docker rm $(docker ps -a -q)
参考文献
記事Article
もっと見る- article
Dockerの利用していないゴミを掃除しディスクスペースを解放するいくつかのやり方を紹介
- article
Next.js のバンドルサイズを可視化する@next/bundle-analyzer の紹介
- article
VSCodeでTypescriptファイルのimport補完で相対パスではなくエイリアスするための設定
- article
UUIDより短いユニークなIDを生成できるnpmライブラリnanoidの使い方
- article
【解決方法】TypeScript発生したTS2564 エラーの対処
- article
express で IP を取得する際などに利用する req.connection 非推奨(deprecated)の対処