環境系コマンド
docker image pull (任意のDockerリポジトリ:タグ名)、省略系は「docker pull」
公開されている任意のDockerレジストリからDockerイメージを取得する。
docker image build -t [任意のイメージ名:タグ名] [Dockerfile配置パス]
Dockerfileを元にビルドするコマンドです。(Dockerコンテナを作成するわけではないので注意です。)コマンド実行して正常にビルドが完了したら「docker image ls」にて確認できます。
-tオプション
必須ではないですが省略した場合はイメージをハッシュ値で管理することになり非常に面倒なので実質必須であると言っても良いでしょう。タグ名を省略した場合はlatest(最新)になります。
-fオプション
デフォルトでDockerfileという名前のDockerfileを探しに行きますが、それ以外の名前のファイル名を作成した場合はこちらのオプションを利用します。
--pullオプション
DockerfileのFROMで指定されているDockerイメージを一度レジストリからダウンロードした上でそれをイメージにしてビルドを行います。一度FROMでレジストリから取得したDockerイメージはホストOS内に削除しない限りは保持され続けます。確実に最新版のDockerイメージを使いたい場合はこのオプションを使うと良いでしょう。
--no-cacheオプション
コマンドが再度実行されたとしてもキャッシュされずに再度実行できます。例えば、apt-get等実行タイミングで実行結果が変わるようなコマンドを実行したい場合はこのオプションをつけていた方が都合が良かったりします。
docker search [オプション] 検索キーワード
Docker Hub等のレジストリ内に登録されいるレポジトリを検索します。
--limit
検索結果に表示される件数を絞ります。
イメージ操作系コマンド
docker image tag 元イメージ名:[タグ] 新イメージ名:[タグ]、省略系は「docker tag」
Dockerイメージの特定バージョンにタグ付を行います。なお、元イメージと新イメージのイメージIDは全く同じになります。
Dockerイメージのバージョン
正確に言えば、「IMAGE ID」のことです。
docker image push
保持しているDockerイメージをDocker Hubをはじめとするレジストリに登録できます。
docker rmi イメージ名 or イメージID
Dockerイメージを削除します。ただ、指定したイメージを利用してすでにコンテナが作られている場合は削除できません。
-f
すでに使用しているコンテナがあったとしてもDockerイメージを強制削除します。
コンテナ操作系コマンド
docker create
コンテナの作成
docker start
コンテナの起動
docker container run [イメージ名:タグ名](docker run [イメージ名:タグ名])
オプションが多いので以下の記事で解説しています。
docker container stop [コンテナ名 or コンテナID]
Dockerコンテナを停止します。具体的には下記のように指定したりします。
1 |
docker container stop $(docker container ls --filter "ancestor=イメージ名" -q) |
コンテナ名 or コンテナID
「docker container lsコマンド」にて知ることができます。
docker container restart [コンテナ名 or コンテナID]
コンテナを再実行します。
docker container rm [コンテナ名 or コンテナID]
コンテナを破棄します。
-f
通常実行中のコンテナは削除できませんがこれをつけることで削除可能とします。
docker container exec [コンテナ名 or コンテナID] コンテナ内で実行するコマンド
実行中のコンテナでコマンドを実行したい場合に使います。基本的にはコンテナ内の状態確認のために使うようにし安易に状態変更はしないようにしましょう。
-it
コンテナの中に入って操作ができます。
docker container cp [コンテナ名:コンテナコピー元] ホストのコピー先(逆もいけます。)
ホストとコンテナ内でファイルのやりとりができます。コンテナ内で作成されたファイル等を確認する目的で使ったりします。破棄されていない終了してしまったコンテナに対して行うことも可能です。
docker commit [コンテナ名 or コンテナID] [イメージ名:タグ名]
コンテナをイメージとして保存することが可能です。ただ、Dockerfileでイメージを作成する場合に比べて履歴(docker historyコマンド)が残らないのであまり使わないようにしましょう。
確認系
docker image ls(docker imagesと同じ動き)
Dockerホストに保持されているイメージの一覧を確認できます。「docker image pull」や「docker image build」したDockerイメージが表示されます。
Dockerホスト
Dockerデーモンを実行しているホスト環境のことです。
IMAGE ID
「docker container run」をバックグラウンドで動作させた時のコンテナ識別IDを12文字に省略したIDが表示されます。
docker inspect イメージ名 or イメージID
Dockerイメージの詳細情報を表示します。具体的には下記のような情報があります。
- ホスト名
- 環境変数
- コンテナ起動時に実行されるコマンド
- コマンド実行時のディレクトリ情報
- OSの情報
- ファイルシステム
docker container ls
現在稼働中のDockerコンテナの一覧が表示されます。
--filter
特定の条件に一致するコンテナだけを抽出できます。
-a
すでに終了したコンテナを表示します。コンテナを再実行したい場合等に使えるでしょう。
docker container logs コンテナID or コンテナ名
実行している特定のコンテナの標準出力を表示させることができます。ただしコンテナ内でアプリが出力したログは表示されません。他にログを取得したり確認したりするツールが存在するので実運用では使いませんが方法の一つとして知っておきましょう。
-f
標準出力をし続けます。
docker ps
現在実行中のコンテナ一覧を表示します。
-a
ステータスが「実行中」以外のステータスのコンテナも表示します。
docker history [イメージ名 or イメージID」
操作した履歴が残ります。Dockerイメージのレイヤーが一覧で表示されます。
運用管理者向けコマンド
docker container prune
実行していないDockerコンテナを一括で破棄する。
docker container stats
コンテナ単位でシステムリソースの利用状況を確認することができます。
docker image prune
Dockerイメージを削除できます。ディスクをどんどん占有するので定期的に見直しましょう。実行中のコンテナのイメージ等の理由がある場合は削除されずにそのまま残ります。
docker system prune
Dockerリソース(Dockerコンテナ、イメージ、ボリューム、ネットワーク)を全て削除します。
Docker Hub系コマンド
docker login
Docker Hubにログインします。
docker push [Docker ID]/イメージ名:タグ名
Docker Hubの該当アカウントのイメージに対してプッシュできます。
その他コマンド
docker help
Dockerコマンドのヘルプを確認できます。
docker コマンド --help
Dockerサブコマンドのヘルプを確認できます。
この記事へのコメントはありません。