[Docker] 基本的な Docker コマンド集

[Docker] 基本的な Docker コマンド集

Docker を使っていると、さまざまなコマンドを使用します。

そこで、個人的によく使用する Docker コマンドを備忘録がてらまとめました。

本記事では下記の環境で動作確認を行っています。

  • Docker version 25.0.4
  • Ubuntu Server 22.04.3 LTS

基本的な Docker コマンド

コンテナー関連のコマンド

コンテナーの一覧表示

現在実行中のコンテナーを確認するには、次のコマンドを使います。

実行中のコンテナーを表示
$ docker ps

すべてのコンテナーを表示したい場合は、-a オプションを追加します。

全コンテナーを表示
$ docker ps -a

コンテナーの起動

新しいコンテナーを起動するには、以下のコマンドを使用します。

ここでは、ubuntuイメージを基にしたコンテナーを作成します。

コンテナーを起動
$ docker run -it --rm -v /path/on/host:/path/in/container ubuntu
オプションの説明
  • -it:
    -i はインタラクティブモードでコンテナーを起動するオプションです。

    標準入力を開き、コンテナー内でコマンドを直接入力できるようにします。

    -t は疑似ターミナルを割り当てるオプションで、コンテナー内のシェルへアクセスする際に使用します。

    この組み合わせにより、コンテナー内での対話的な操作が可能になります。

  • --rm:
    コンテナーの実行が終了した後、自動的に削除されるオプションです。

    短期的に使いたいコンテナーに便利で、後で不要なコンテナーが残らないようにします。

  • -v /path/on/host:/path/in/container:
    ホストのディレクトリ (/path/on/host) をコンテナー内の指定したディレクトリ (/path/in/container) にマウントします。

    これにより、ホストとコンテナー間でファイルを共有でき、コンテナーの削除後もホスト上のファイルは維持されるため、データの永続化に利用されます。

起動しているコンテナー内でコマンドを実行する

すでに起動しているコンテナー内で特定のコマンドを実行したい場合、exec コマンドを使用します。

コンテナー内でコマンドを実行
$ docker exec -it <コンテナーIDまたは名前> <コマンド>
例: bash シェルにアクセスする

起動中のコンテナー内で bash シェルにアクセスするには以下を実行します。

bashシェルにアクセス
$ docker exec -it <コンテナーIDまたは名前> bash

コンテナーの停止

特定のコンテナーを停止するには、stop コマンドを使用します。コンテナーIDまたは名前を指定します。

コンテナーを停止
$ docker stop <コンテナーIDまたは名前>

コンテナーの削除

不要なコンテナーを削除するには、rm コマンドを使用します。

コンテナーを削除
$ docker rm <コンテナーIDまたは名前>

実行中のコンテナーを削除する場合は、-f オプションを追加して強制的に削除します。

実行中のコンテナーを強制削除
$ docker rm -f <コンテナーIDまたは名前>

イメージ関連のコマンド

イメージの一覧表示

ローカルに存在する Docker イメージを一覧表示するには、以下のコマンドを使用します。

イメージを表示
$ docker images

イメージの削除

不要なイメージを削除する場合は、rmi コマンドを使用します。

イメージを削除
$ docker rmi <イメージIDまたは名前>

イメージのエクスポート

Docker イメージをファイルにエクスポートするには、save コマンドを使用します。

このコマンドにより、指定したイメージを .tar ファイルとして保存できます。

イメージをエクスポート
$ docker save -o <ファイル名>.tar <イメージ名>

イメージのインポート

エクスポートしたイメージを別の環境で読み込む場合は、load コマンドを使用します。

エクスポートした .tar ファイルを指定してイメージをインポートします。

イメージをインポート
$ docker load -i <ファイル名>.tar

まとめ

基本的な Docker コマンドを紹介しました。

どれもよく使うコマンドですので覚えておくと開発がスムーズになると思います!

この記事が、Docker を活用する皆さんのお役に立てれば幸いです。それではまた!

参考

Ryotaro49