【実例多数】Docker Execコマンドを学ぼう|初心者向け

※本サイトにはプロモーション・広告が含まれています。

(最終更新日:2023年8月)

✔当記事は以下のような方のために書かれた記事です

「docker execコマンドの機能が知りたい」
「docker execコマンドの使い方を学びたい」
「docker execコマンドの具体的な例を見たい」

✔当記事を通じて取り上げるトピック

  • docker execコマンドの基本的な知識
  • docker execコマンドの使い方とその応用
  • docker execコマンドの実使用例

当記事は、docker execコマンドの基本から、オプションを駆使した応用方法まで、具体的な例を交えながら解説します。

ぜひ最後までご覧いただき、docker exec コマンドの理解を深めてください。

筆者プロフィール

筆者プロフィールアイコン

【現職】プロダクトマネージャー

【副業】ブログ(月間20万PV)/YouTube/Web・アプリ制作

「プログラミング × ライティング × 営業」の経験を活かし、30後半からのIT系職へシフト。現在はプロダクトマネージャーとして、さまざまな関係者の間に入り奮闘してます。当サイトでは、実際に手を動かせるWebアプリの開発を通じて、プログラミングはもちろん、IT職に必要な情報を提供していきます。

【当ブログで紹介しているサイト】

当サイトチュートリアルで作成したデモ版日報アプリ

Django × Reactで開発したツール系Webアプリ

✔人に見せても恥ずかしくないコードを書こう

「リーダブルコード」は、わかりやすく良いコードの定義を教えてくれる本です。

  • 見るからにきれいなコードの書き方
  • コードの分割方法
  • 変数や関数の命名規則

エンジニアのスタンダートとすべき基準を一から解説しています。

何回も読むのに値する本なので、ぜひ手にとって読んでみてください。

Docker入門:基本的な調査

こちらでは、Dockerの基本的な解説とDockerの機能と利点についてお伝えしていきます。

Dockerについて知ることで、その使用方法と活用方法を理解する上での基盤を築けるでしょう。

  • Dockerとは
  • Dockerの機能と利点

Dockerとは

Dockerは、開発から配布、運用までを容易にするためのオープンソースのプラットフォームです。

仮想化された独立した環境(コンテナ)を提供し、コードがどのマシン上でも同じように実行できるようにします。

結果として、開発者の手間を大幅に削減するのです。

Dockerは、その独自性と再現性により、複雑な環境を構築し管理する際の悩みを解消します。

Dockerの機能と利点

Dockerの主な機能は、アプリケーションの実行環境をコンテナとしてパッケージ化すること。

またそれを、ほかの環境でそのまま再現できることです。

これにより、アプリケーション開発のフロー全体を簡単かつ高速におこなえます

またコンテナは軽量であり、仮想マシンのようにゲストOSを必要としません。

高いパフォーマンスと効率性が得られるという特徴があります。

Docker Execコマンドの基礎

こちらでは、Execコマンドの定義と目的、さらにExecコマンドの基本フォーマットについて解説します。

Docker Execコマンドの基本的な理解と使用方法を把握できるでしょう。

  • Execコマンドの定義と目的
  • Execコマンドの基本フォーマット

Execコマンドの定義と目的

Docker Execコマンドは、稼働中のDockerコンテナ内で、新たにコマンドを実行するためのもの。

このコマンドは、デバッグやアプリケーションの動作チェック、コンテナの状態確認などに利用されます。

基本的なフォーマットはこちらです。

docker exec [options] container command [arguments]

以下に例をいくつか挙げておきます。

コンテナ内でシェルを開始する例

稼働中のコンテナにbashシェルを開始するには以下のコマンドを使用します。

docker exec -it container_name bash

ここで、-i オプションは対話モードを、-t オプションは端末を割り当てるためのものです。

コンテナ内のファイルの内容を表示する例

コンテナ内の特定のファイルの内容を表示するには、次のように cat コマンドを使用します。

docker exec container_name cat /path/to/file.txt

コンテナ内のプロセスを表示する例

コンテナ内で実行中のプロセスをリストするには、以下のコマンドを使用します。

docker exec container_name ps aux

Dockerイメージによっては、psコマンドがインストールされていない場合があります。

エラーになる方は、Dockerコンテナ内のbashシェルで、インストールをおこないましょう。

apt-get update && apt install -y procps

コンテナ内で環境変数を表示する例

コンテナ内の環境変数を表示するには以下のコマンドを使用します。

docker exec container_name env

これらのコマンドを使用すると、Dockerコンテナの内部で作業をおこなえます。

デバッグや診断、監視などのタスクに役立つでしょう。

Execコマンドの基本フォーマット

Execコマンドの基本的なフォーマットはこちら。

docker exec [オプション] コンテナ名 コマンド [引数]

コンテナ内でlsコマンドを実行する場合、次のように入力しましょう。

docker exec my_container ls

このコマンドを実行すると、my_containerという名前のコンテナ内のファイルやディレクトリが一覧表示されます。

Docker Execコマンドの詳細な使い方

こちらでは、Docker Execコマンドの詳細な使い方について深く掘り下げていきます。

  • オプションの一覧と解説
  • 基本的な使用例
  • Execと他の親コマンドとの関係性
  • 多機能なExecコマンドの応用例

オプションの一覧と解説

Docker Execコマンドには、多くのオプションが存在します。

以下に主要なものをいくつか挙げて解説します。

  • -i, --interactive : 標準入力を開く (通常、シェルを対話的に使用する場合に使われます)
  • -t, --tty : 疑似tty(端末)を割り当てる (シェルをカラフルに表示する場合などに使われます)
  • -d, --detach : コマンドをバックグラウンドで実行する

例えば、docker exec -it my_container bashというコマンドを実行すると、対話的なbashシェルがコンテナ内で開始されます。

基本的な使用例

基本的な使用例としては、稼働中のコンテナ内のディレクトリやファイルを調べるために ls コマンドを実行するというものがあります。

docker exec my_container ls /path/to/directory

これにより、/path/to/directory ディレクトリ内のファイルとディレクトリの一覧が表示されます。

Execと他の親コマンドとの関係性

Docker Execコマンドは、コンテナ内で新たにコマンドを実行するためのもの

そのためにはコンテナがすでに存在し、稼働中であることが必要です。

Execコマンドは docker rundocker start など、コンテナを起動するコマンドと組み合わせて使用されます。

多機能なExecコマンドの応用例

Execコマンドの強力な機能のひとつに、コンテナ内でエディタを起動し、ファイルを編集できることが挙げられます。

docker exec -it my_container vim /path/to/file

my_container コンテナ内の /path/to/file ファイルをvimエディタで開き、編集することが可能です。

このようにExecコマンドを活用することで、コンテナ内部で多様な操作がおこなえます。

nanoエディタを使うには、インストールが必要な場合があります。以下のコマンドでインストールして使いましょう。

apt-get update && apt-get install -y nano

Docker Execコマンドの活用事例と注意点

こちらでは、Docker Execコマンドの実際の活用事例とそれに伴う注意点を説明します。

これらを理解することで、Docker Execコマンドをより効果的に使用する方法を掌握できます。

  • Execコマンドとコンテナのステータス(稼働、一時停止)
  • Execコマンドのカスタマイズ:オプションの詳細

Execコマンドとコンテナのステータス(稼働、一時停止)

Execコマンドを、一時停止中のコンテナに対して実行しようとするとエラーが発生します。

なぜならExecコマンドは、実行中のコンテナに対して使われるものだからです。

このような場合は、まずコンテナを再開してからExecコマンドを実行しましょう。

docker start <container_name>

Execコマンドのカスタマイズ:オプションの詳細

Execコマンドの動作は、与えられたオプションによって変更できます。

例えば、オプション-uを使用して、異なるユーザーとしてコマンドを実行することが可能です。

以下に、このオプションを使用したコマンドを示します。

docker exec -u root my_container ls /root

このコマンドは、my_containerコンテナの/rootディレクトリをrootユーザーとして一覧表示します。

ユーザーを指定しない場合、デフォルトでは作成時のユーザー(通常はroot)としてコマンドが実行されるのです。

このほかにも、Execコマンドには様々なオプションが用意されており、それらを組み合わせることで、より細かな操作が可能になります。

まとめ

Docker Execコマンドは、既存のコンテナで新たにコマンドを実行するための強力なツールです。

Execコマンドの理解と活用により、Dockerをより深く理解し、効果的に利用することが可能になります。

Execコマンドは多岐にわたる場面で役立つでしょう。

  • コンテナのデバッグ
  • ファイルの編集
  • 設定の変更

Dockerには、Execコマンド以外にも多くのコマンドが存在します。

例えば、docker psで現在稼働しているコンテナを一覧表示したり、docker imagesで利用可能なイメージの一覧を表示したりします。

これらのコマンドを理解し、使用できるようになることで、Dockerの能力をさらに引き出すことができます。

Dockerの世界は広大で、常に新しい発見や学びがあるのが醍醐味です。

当記事が皆様のDocker学習の一助となれば幸いです。

タイトルとURLをコピーしました