プログラミングマガジン

プログラミングを中心にIT技術をできるだけわかりやすくまとめます。

  • ホーム
  • Docker
  • 【Docker】コマンドまとめ(CLI)
 
 
     
  • サーバー言語  
    • Python
    • Ruby
    • PHP
    • SQL
  •  
  • インフラ  
       
    • AWS
    •  
    • 基本
    • Git
  • Web
       
    • Web開発
    • JavaScript
    • Vue.js
    • React
  •  
  • 設計  
       
    • 実装設計
    • DB設計
  • 問い合わせ
  

【Docker】コマンドまとめ(CLI)

12.15

  • miyabisan2
  • コメントを書く

この記事は4分で読めます

環境系コマンド

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】「docker container 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サブコマンドのヘルプを確認できます。

スポンサーリンク
  • 2019 12.15
  • miyabisan2
  • コメントを書く
  • Docker
  • Tweets Twitter
  • このエントリーをはてなブックマークに追加
  • LINEで送る

関連記事

  1. 2019 12.16

    【Docker】コンテナの分割単位

  2. 2020 11.02

    【Docker】基本、「マウント(Volumes、bind mounts、tmpfs mounts)」の種類

  3. 2019 12.15

    【Docker】「docker container run 」や「ポートフォワーディング」、「リンク機能」

  4. 2019 12.15

    【Kubernetes】「Kubernetes(クバネティス)」の概要

  5. 2019 12.15

    【Docker】Dockerコンテナのライフサイクル

  6. 2019 12.30

    【Docker】Dockerイメージの基本、「タグ」について

  • コメント ( 0 )
  • トラックバック ( 0 )
  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

返信をキャンセルする。

【Docker】Dockerfileについて(よく使う…

【Docker】「docker container r…

RETURN TOP

著者プロフィール

エンジニア歴10年で過去に業務系、Webデザイン、インフラ系なども経験あります。現在はWeb系でフロントエンド開発中心です。

詳細なプロフィールはこちら

スポンサーリンク

カテゴリー

  • Android
  • AngularJS
  • API
  • AWS
  • C++
  • CSS
  • cursor
  • C言語
  • DDD
  • DevOps
  • Django
  • Docker
  • Figma
  • Git
  • GitLab
  • GraphQL
  • gRPC
  • Hasura
  • Java
  • JavaScript
  • Kubernetes
  • Laravel
  • linux
  • MySQL
  • Next.js
  • nginx
  • Node.js
  • NoSQL
  • Nuxt.js
  • Oracle
  • PHP
  • Python
  • React
  • Redux
  • Rspec
  • Ruby
  • Ruby on Rails
  • Sass
  • Spring Framework
  • SQL
  • TypeScript
  • Unity
  • Vue.js
  • Webサービス開発
  • Webデザイン
  • Web技術
  • インフラ
  • オブジェクト指向
  • システム開発
  • セキュリティ
  • その他
  • データベース
  • デザインパターン
  • テスト
  • ネットワーク
  • プログラミング全般
  • マイクロサービス
  • マイクロソフト系技術
  • マルチメディア
  • リファクタリング
  • 副業
  • 未分類
  • 業務知識
  • 生成AI
  • 設計
  • 関数型言語
RETURN TOP

Copyright ©  プログラミングマガジン | プライバシーポリシー