Dockerは、コンテナ型の仮想環境を提供するプラットフォームです。
1台のサーバー上でさまざまなアプリケーション実行環境を作成、実行できます。
すでにDockerを使って多くのコンテナを管理し、アプリケーションを実行している人もいるでしょう。
本記事では、Dockerを管理する上でよく使うコマンドについて解説します。
リファレンスとしてあわせて活用してください。
Dockerについては、以下の記事で詳しく解説しています。
Winserver:Dockerコンテナとは? コンテナ型仮想化技術を活用した新しい仕組みを解説!
VPSならミライサーバー
\2週間無料・全プランSSD搭載/
ミライサーバーを無料で試す
Dockerイメージを操作するコマンド
コマンド | 内容 |
---|---|
docker images | Dockerイメージの一覧を表示 |
docker pull [イメージ名] | Dockerイメージをレジストリからダウンロード |
docker push [イメージ名] | Dockerイメージをレジストリにアップロード |
docker build | Dockerfileからイメージをビルド |
docker rmi [イメージ名] | Dockerイメージを削除 |
・docker images
「docker images」コマンドは、ローカル環境にあるDockerイメージの一覧を表示します。
・docker pull
「docker pull」は、Docker Hubレジストリにある構築済みイメージから、指定したイメージをダウンロードします。
以下のコマンドでは、httpd(Apache)2.4のコンテナをダウンロードしています。
・docker push
「docker push」は、ローカルにある作成したイメージをDocker Hubレジストリや、自分で作成したレジストリにアップロードし、共有します。
・docker build
「docker build」とは、Dockerfileから、独自のイメージをビルドします。
例えば、以下のようにDockerhubで配布されているmysqlのイメージをもとにしたDockerfileを作成します。
その後、「docker build」コマンドでイメージをビルドします。
以下の例では「sample_mysql」という名前でイメージをビルドしています。
$ docker build ./ -t sample_mysql |
作成後、イメージが作成されていることを確認します。
・docker rmi
「docker rmi」は、指定した1つまたは複数のイメージを削除します。
似たコマンドで「docker rm」は、コンテナを削除するので、違いに注意しましょう。
以下のコマンドでは「httpd」のイメージを削除しています。
$ docker rmi httpd:2.4 |
\ 2週間無料でお試しできます! /
VPSを使ってみる
Dockerコンテナを管理するコマンド
コマンド | 内容 |
---|---|
docker container run [オプション][イメージ名] | 新しいコンテナを作成、実行 |
docker container ls | コンテナを一覧表示 |
docker container ps | 実行中のコンテナを一覧表示 |
docker container stats [コンテナ名] | コンテナの稼働状況をリアルタイムで確認 |
docker container start [コンテナ名] | 停止中のDockerコンテナを起動 |
docker container stop [コンテナ名] | 実行中のDockerコンテナを停止 |
docker container restart [コンテナ名] | Dockerコンテナを再起動 |
docker container exec [オプション]コンテナ名 コマンド | 実行中のコンテナに対してコマンドを実行 |
docker container rm [コンテナ名] | Dockerコンテナを削除 |
・docker container run
「docker run」は、Dockerイメージを使ってDockerコンテナを起動します。
以下のコマンドでは「httpd」のDockerイメージを使って起動しています。
$ docker container run –(-は2回重ねる)name httpd -d -p 8080:80 httpd |
以下のオプションが指定できます。
オプション | 内容 |
---|---|
--name | コンテナ名 |
-d | バックグラウンドで実行 |
-p [ホスト側のポート番号]:[コンテナのポート番号] | ポートフォワーディング ホストのポート番号とコンテナのポート番号を紐づけ ※上記例では、「ホストの8080番ポートをコンテナの80番ポートにマッピングしている」ことを示しています |
-v | ホストとコンテナ間でファイルを共有 ※-v /ホストのパス:/コンテナのパスのように使用します |
-i | ホストの入力をコンテナの標準出力につなげる |
-t | コンテナの標準出力をホストの出力につなげる |
-it | ホストの標準入出力とコンテナの標準入出力をつなげる |
これらのオプションを組み合わせて、様々な要件に合わせたDockerコンテナを起動することができます。
・docker container ls
「docker container ls」コマンドでは、作成済みのコンテナを一覧表示できます。
オプション「-a」をつけると、停止中のコンテナも含めて表示します。
$ docker container ls -a |
・docker container ps
「docker container ps」コマンドでは、現在実行中のコンテナを一覧表示できます。
起動後の稼働確認や実行状況を確認するのに使用します。
$ docker container ps |
・docker container stats
「docker container stats」コマンドでは、指定したコンテナの稼働状況をリアルタイムで確認できます。
稼働中のリソース使用状況を監視したい場合に使用します。
$ docker container stats httpd |
表示される内容は以下のとおりです。
表示項目 | 内容 |
---|---|
CONTAINER ID | コンテナID |
NAME | コンテナ名 |
CPU % | コンテナが使用するCPU使用率 |
MEM USAGE / LIMIT | コンテナが使用しているメモリ使用量 / コンテナが利用可能なメモリ量 |
MEM % | コンテナが使用するメモリ使用率 |
NET I/O | コンテナが送受信したデータ量 |
BLOCK I/O | コンテナがホストから読み書きしたデータ量 |
PIDs | コンテナが起動したプロセス数またはスレッド数 |
「docker container start」は停止中のコンテナを起動するコマンドです。
以下のコマンドでは、停止中のコンテナ「httpd」を起動しています。
$ docker container start httpd |
・docker container stop
「docker container stop」は稼働中のコンテナを停止するコマンドです。
以下のコマンドでは、稼働中のコンテナ「httpd」を停止しています。
$ docker container stop httpd |
・docker container restart
「docker container restart」は稼働中のコンテナを再起動するコマンドです。
以下のコマンドでは、稼働中のコンテナ「httpd」を停止しています。
$ docker container restart httpd |
・docker container exec
「docker container exec」は稼働中のコンテナに対してコマンドを実行します。
以下のコマンドでは、稼働中のコンテナ「httpd」に対してlsコマンドを実行しています。
$ docker container exec -it httpd ls -lrt |
以下のコマンドのように、bashシェルを実行すると、セッションを作成できます。
これにより、「exit」コマンドを実行するまで、コンテナ内にログインして連続でコマンドを実行することも可能です。
$ docker container exec -it httpd /bin/bash |
・docker container rm
「docker rm」は作成したコンテナを削除するコマンドです。
以下のコマンドでは、コンテナ「httpd」を削除しています。
$ docker container rm httpd |
なお、コンテナを削除する際は、事前に停止しておくか、オプション「-f」(強制削除)を付ける必要があります。
停止していない状態で削除コマンドを実行すると、エラーメッセージが表示されます。
\ 2週間無料でお試しできます! /
VPSを使ってみる
まとめ
今回はDockerでよく使用するコマンドについて解説しました。
今回紹介したコマンドを使用することで、イメージをダウンロードしてコンテナを作成し、起動することが可能です。
Dockerを使用したことがない人は、ぜひ参考にしていただき実際にコマンドを使用してみてください。
また、Dockerにはこれら以外にも多くのコマンドが存在します。
ある程度運用に慣れてきたら、公式サイトのコマンドリファレンスからその他のコマンドも確認してみるとよいでしょう。
UnixやLinuxのVPSならミライサーバー
ミライサーバーは、アシストアップ株式会社が提供している、Unix系サーバーに特化したホスティングサービスです。
ミライサーバーのVPSでは、高速処理が可能なSSDを全プランに搭載しています。
OSは、UbuntuやDebian、AlmaLinuxなどの豊富なラインアップから選択することができます。
2週間無料トライアルを実施しておりますので、まずはお気軽にお試しください。
プランの選択でお困りの場合は、ぜひ一度お問い合わせください。
2023.08.03
VPSに申込み、SSH接続するまでの流れ【ミライサーバー】
オンラインビジネスやWebサイトの運営を始める際には、ホスティングサービスの中から自分の用途に合ったサーバー環境を利用することが一般的です。...