導入
Dockerは、ソフトウェアアプリケーションに実行に必要なすべての情報を含むファイルシステムを提供する、人気のコンテナ化ツールです。Dockerコンテナを使用すると、実行環境が徹底的に一貫性を保つため、ソフトウェアはどこにデプロイされても同じように動作します。このチュートリアルでは、DockerイメージとDockerコンテナの関係について簡単に説明します。その後、コンテナの実行、起動、停止、削除方法について詳しく説明します。.
概要
Dockerイメージは、Dockerコンテナを作成するためのベアメタルテンプレートと考えることができます。イメージは通常、ルートファイルシステムから始まり、ファイルシステムの変更とそれに対応する実行パラメータを、簡潔な読み取り専用レイヤーに追加します。一般的なLinuxディストリビューションとは異なり、Dockerイメージには通常、アプリケーションの実行に必要なベアメタルのみが含まれます。イメージはステートレスであり、変更されることはありません。代わりに、Dockerコンテナの起点となります。イメージはdocker runコマンドによって起動されます。このコマンドは、イメージの上に読み書き可能なレイヤーを追加することでコンテナを作成します。この読み書き可能なレイヤーの上に重ねられた読み取り専用レイヤーの組み合わせは、ユニオンファイルシステムと呼ばれます。実行中のコンテナ内のファイルに変更が加えられると、ファイルは読み取り専用領域から読み書き可能なレイヤーにコピーされ、そこで変更が適用されます。読み書き可能なレイヤーのバージョンは元のファイルを隠しますが、削除はしません。読み書き可能なレイヤーへの変更は、別のコンテナインスタンスにのみ存在します。コンテナが削除されると、変更内容を保持するための手順が実行されない限り、変更内容は失われます。.
Dockerコンテナの使い方
- 2つのDockerコンテナを作成する
- 最初のコンテナを再起動します。
- 両方のコンテナを削除します。
コンテナの操作
コマンドを使用するたびに docker 実行 これを使用すると、指定したイメージから新しいコンテナが作成されます。これは混乱を招く可能性があるため、いくつか例を見てみましょう。
ステップ1: 2つのコンテナを作成する
実行コマンド ドッカー 以下は、Ubuntu の基本イメージを使用して新しいコンテナを作成します。. -t それは私たちにターミナルを与え、 -私 これにより、UbuntuベースイメージのDockerファイルにあるデフォルトのコマンドに従って操作できるようになります。 バッシュ私たちは殻に閉じこもるためにそれに頼っています。.
docker run -ti ubuntuコマンド ラインが変更され、コンテナー内に root ユーザーとしていることが示され、その後に 12 文字のコンテナー ID が表示されます。.
root@11cc47339ee1:/#フォルダ内のテキストの反映を変更しました /tmp コンテナを作成し、 猫 正常に保存されたことを確認するために使用します。.
echo "Example1" > /tmp/Example1.txt
cat /tmp/Example1.txtOutput
Example1
さあ、コンテナから出てみましょう。.
exitDockerコンテナは実行コマンドの実行完了後すぐには実行されないため、bashシェルを終了した時点でコンテナは停止しました。コマンドが 追伸 実行中のコンテナを表示するコマンドを実行しても、コマンドは表示されません。.
docker psOutput
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES旗が -あ 停止中または実行中のすべてのコンテナを表示するコマンドを追加すると、コンテナがリストに表示されます。
docker ps -aOutput
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
11cc47339ee1 ubuntu "/bin/bash" 6 minutes ago Exited (127) 8 seconds ago small_sinoussiコンテナが作成されると、コンテナIDとランダムに生成された名前が付与されます。この場合、 11cc47339ee1 コンテナIDと 小さなシヌッシ ランダムに生成された名前です。. ps -a これらの値に加え、コンテナの構築元イメージ(ubuntu)、コンテナの作成日時(6分前)、実行されたコマンド(/bin/bash)も表示されます。出力には、コンテナの状態(Exited)と、その状態になってからの時間(6秒前)も表示されます。コンテナがまだ実行中の場合は、ステータスが「up」で、その後に実行時間が表示されます。.
同じコマンドを再度実行すると、完全に新しいコンテナが作成されます。
docker run -ti ubuntuコマンドライン上の識別子が異なり、Example1 ファイルを探しても見つからないため、新しいコンテナであることがわかります。
cat /tmp/Example1Output
cat: /tmp/Example1: No such file or directoryデータが消えたように見えるかもしれませんが、実際には消えていません。2つ目のコンテナを終了して、2つ目のコンテナと、作成したファイルが格納された1つ目のコンテナの両方がシステム上に残っていることを確認します。.
exitコンテナを再度一覧表示すると、両方が表示されます。
docker ps -aOutput
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
6e4341887b69 ubuntu "/bin/bash" About a minute ago Exited (1) 6 seconds ago kickass_borg
11cc47339ee1 ubuntu "/bin/bash" 13 minutes ago Exited (127) 6 minutes ago small_sinoussiステップ2: 最初のコンテナを再起動する
既存のコンテナを再起動するには、start コマンドに -a フラグ(コンテナに接続)と -i フラグ(コンテナを対話型にする)を付加し、コンテナIDまたはコンテナ名を指定します。以下のコマンドでは、コンテナIDを実際のコンテナIDに置き換えてください。
docker start -ai 11cc47339ee1再びコンテナの bash プロンプトに戻り、先ほど作成したファイルを cat すると、そのファイルがまだそこにあります。.
cat /tmp/Example1.txtOutput
Example1これでコンテナから出ることができます。
exitこの出力は、コンテナ内で行われた変更が、コンテナの停止と起動を経ても維持されることを示しています。コンテナが削除された場合にのみ、コンテンツが削除されます。この例では、変更が個々のコンテナに限定されていることも示されています。2つ目のコンテナを起動すると、イメージの元の状態が反映されました。.
ステップ3: 両方のコンテナを削除する
2つのコンテナを作成しました。この短いチュートリアルは、これらを削除して終了します。docker rm コマンドは停止中のコンテナに対してのみ実行でき、1つまたは複数のコンテナの名前またはIDを指定できます。以下のコマンドで両方のコンテナを削除できます。
docker rm 11cc47339ee1 kickass_borgOutput
11cc47339ee1
kickass_borg両方のコンテナと、その中で行った変更はすべて消えてしまいました。.
結果
レシピを詳しく見ていきます。 docker 実行 実行のたびに新しいコンテナが自動的に作成される様子を見てきました。また、停止中のコンテナを見つけて起動し、接続する方法も確認しました。コンテナ管理についてさらに詳しく知りたい方は、「Dockerコンテナ命名ガイド:初心者向け3つのヒント」をご覧ください。.









