Dockerコンテナの状態変換の実装

Dockerコンテナの状態変換の実装

Dockerコンテナの状態遷移図

2度目の実戦

[root@localhost ~]# docker 情報
コンテナ: 0
ランニング: 0
一時停止: 0
停止: 0
画像: 3
サーバーバージョン: 17.09.0-ce
ストレージ ドライバー: オーバーレイ
バックアップファイルシステム: xfs
d_type: false をサポートします
ログドライバー: json-file
cgroup ドライバー: cgroupfs
プラグイン:
ボリューム: ローカル
ネットワーク: ブリッジ ホスト macvlan null オーバーレイ
ログ: awslogs fluentd gcplogs gelf journald json-file logentries splunk syslog
群れ: 非アクティブ
ランタイム: runc
デフォルトのランタイム: runc
初期化バイナリ: docker-init
コンテナバージョン: 06b9cb35161009dcb7123345749fef02f7cea8e0
runc バージョン: 3f2f8b84a77f73d38244dd690525642a72156c64
初期化バージョン: 949e6fa
セキュリティ オプション:
seccomp
 プロフィール: デフォルト
カーネルバージョン: 3.10.0-327.el7.x86_64
オペレーティング システム: CentOS Linux 7 (コア)
OSタイプ: Linux
アーキテクチャ: x86_64
CPU: 1
合計メモリ: 993MiB
名前: localhost.localdomain
ID: 6ULL​​:CFMN:YT7C:4RXZ:2CJ4:26H2:D4Y6:YHUP:SH7L:QLEQ:AWEB:EWTB
Docker ルートディレクトリ: /var/lib/docker
デバッグモード(クライアント): false
デバッグモード(サーバー): false
レジストリ: https://index.docker.io/v1/
実験的: 偽
安全でないレジストリ:
127.0.0.0/8
ライブリストアが有効: false
警告: オーバーレイ: バッキング xfs ファイルシステムは d_type サポートなしでフォーマットされているため、不正な動作が発生します。
     d_type サポートを有効にするには、ファイルシステムを ftype=1 で再フォーマットします。
     d_type サポートなしでの実行は、将来のリリースではサポートされません。
警告: bridge-nf-call-iptables が無効になっています
警告: bridge-nf-call-ip6tables が無効になっています
[root@localhost ~]# docker イメージ
リポジトリ タグ イメージ ID 作成 サイズ
clearlinux 最新 32685d114002 6日前 62.5MB
busybox 最新 6ad733544a63 6日前 1.13MB
アルパイン 最新 053cde6e8953 6日前 3.96MB
[root@localhost ~]# docker run -d --name box1 busybox
4ca3d293206cd34e449075491679b0cddd619b451cac7a3d20d5b5daaa6095d8
[root@localhost ~]# docker run -itd --name box2 busybox
9c1578a50f0b97d48c7501dda6d6e1c3d8b3d9ed0e37416120f91f5a634fb12f
[root@localhost ~]# docker ps -a
コンテナID イメージ コマンド 作成ステータス ポート名
9c1578a50f0b busybox "sh" 13秒前 11秒前 box2
4ca3d293206c busybox "sh" 47秒前 終了 (0) 45秒前 box1
[root@localhost ~]# docker run -itd --name box3 busybox
e84a746ea040603aa4db791da77aee2e2502ff5b184e89049a74805671a58ba9
[root@localhost ~]# docker ps -a
コンテナID イメージ コマンド 作成ステータス ポート名
e84a746ea040 busybox "sh" 5秒前 4秒前 box3
9c1578a50f0b busybox "sh" 約 1 分前 約 1 分前 box2
4ca3d293206c busybox "sh" 2分前 終了しました (0) 2分前    
        ボックス1
[root@localhost ~]# docker 情報
コンテナ: 3
ランニング: 2
一時停止: 0
停止: 1
画像: 3
サーバーバージョン: 17.09.0-ce
ストレージ ドライバー: オーバーレイ
バックアップファイルシステム: xfs
d_type: false をサポートします
ログドライバー: json-file
cgroup ドライバー: cgroupfs
プラグイン:
ボリューム: ローカル
ネットワーク: ブリッジ ホスト macvlan null オーバーレイ
ログ: awslogs fluentd gcplogs gelf journald json-file logentries splunk syslog
群れ: 非アクティブ
ランタイム: runc
デフォルトのランタイム: runc
初期化バイナリ: docker-init
コンテナバージョン: 06b9cb35161009dcb7123345749fef02f7cea8e0
runc バージョン: 3f2f8b84a77f73d38244dd690525642a72156c64
初期化バージョン: 949e6fa
セキュリティ オプション:
seccomp
 プロフィール: デフォルト
カーネルバージョン: 3.10.0-327.el7.x86_64
オペレーティング システム: CentOS Linux 7 (コア)
OSタイプ: Linux
アーキテクチャ: x86_64
CPU: 1
合計メモリ: 993MiB
名前: localhost.localdomain
ID: 6ULL​​:CFMN:YT7C:4RXZ:2CJ4:26H2:D4Y6:YHUP:SH7L:QLEQ:AWEB:EWTB
Docker ルートディレクトリ: /var/lib/docker
デバッグモード(クライアント): false
デバッグモード(サーバー): false
レジストリ: https://index.docker.io/v1/
実験的: 偽
安全でないレジストリ:
127.0.0.0/8
ライブリストアが有効: false
警告: オーバーレイ: バッキング xfs ファイルシステムは d_type サポートなしでフォーマットされているため、不正な動作が発生します。
     d_type サポートを有効にするには、ファイルシステムを ftype=1 で再フォーマットします。
     d_type サポートなしでの実行は、将来のリリースではサポートされません。
警告: bridge-nf-call-iptables が無効になっています
警告: bridge-nf-call-ip6tables が無効になっています
[root@localhost ~]# docker ps -a
コンテナID イメージ コマンド 作成ステータス ポート名
e84a746ea040 busybox "sh" 4分前 4分前 box3
9c1578a50f0b busybox "sh" 6分前 6分前 box2
4ca3d293206c busybox "sh" 6分前 終了 (0) 6分前 box1
[root@localhost ~]# docker を再起動します 9c
9c
[root@localhost ~]# docker ps -a
コンテナID イメージ コマンド 作成ステータス ポート名
e84a746ea040 busybox "sh" 5分前 5分前 box3
9c1578a50f0b busybox "sh" 7分前 2秒前 box2
4ca3d293206c busybox "sh" 8分前 終了 (0) 8分前 box1
[root@localhost ~]# docker pause 9c
9c
[root@localhost ~]# docker ps -a
コンテナID イメージ コマンド 作成ステータス ポート名
e84a746ea040 busybox "sh" 8分前 8分前 box3
9c1578a50f0b busybox "sh" 10 分前 2 分前 (一時停止) box2
4ca3d293206c busybox "sh" 10分前 終了 (0) 10分前 box1
[root@localhost ~]# docker 情報
コンテナ: 3
ランニング: 1
一時停止: 1
停止: 1
画像: 3
サーバーバージョン: 17.09.0-ce
ストレージ ドライバー: オーバーレイ
バックアップファイルシステム: xfs
d_type: false をサポートします
ログドライバー: json-file
cgroup ドライバー: cgroupfs
プラグイン:
ボリューム: ローカル
ネットワーク: ブリッジ ホスト macvlan null オーバーレイ
ログ: awslogs fluentd gcplogs gelf journald json-file logentries splunk syslog
群れ: 非アクティブ
ランタイム: runc
デフォルトのランタイム: runc
初期化バイナリ: docker-init
コンテナバージョン: 06b9cb35161009dcb7123345749fef02f7cea8e0
runc バージョン: 3f2f8b84a77f73d38244dd690525642a72156c64
初期化バージョン: 949e6fa
セキュリティ オプション:
seccomp
 プロフィール: デフォルト
カーネルバージョン: 3.10.0-327.el7.x86_64
オペレーティング システム: CentOS Linux 7 (コア)
OSタイプ: Linux
アーキテクチャ: x86_64
CPU: 1
合計メモリ: 993MiB
名前: localhost.localdomain
ID: 6ULL​​:CFMN:YT7C:4RXZ:2CJ4:26H2:D4Y6:YHUP:SH7L:QLEQ:AWEB:EWTB
Docker ルートディレクトリ: /var/lib/docker
デバッグモード(クライアント): false
デバッグモード(サーバー): false
レジストリ: https://index.docker.io/v1/
実験的: 偽
安全でないレジストリ:
127.0.0.0/8
ライブリストアが有効: false
警告: オーバーレイ: バッキング xfs ファイルシステムは d_type サポートなしでフォーマットされているため、不正な動作が発生します。
     d_type サポートを有効にするには、ファイルシステムを ftype=1 で再フォーマットします。
     d_type サポートなしでの実行は、将来のリリースではサポートされません。
警告: bridge-nf-call-iptables が無効になっています
警告: bridge-nf-call-ip6tables が無効になっています
[root@localhost ~]# docker unpause 9c
9c
[root@localhost ~]# docker ps -a
コンテナID イメージ コマンド 作成ステータス ポート名
e84a746ea040 busybox "sh" 11分前 11分前 box3
9c1578a50f0b busybox "sh" 13 分前 6 分前 box2
4ca3d293206c busybox "sh" 14 分前 終了 (0) 14 分前 box1
[root@localhost ~]# docker 情報
コンテナ: 3
ランニング: 2
一時停止: 0
停止: 1
画像: 3
サーバーバージョン: 17.09.0-ce
ストレージ ドライバー: オーバーレイ
バックアップファイルシステム: xfs
d_type: false をサポートします
ログドライバー: json-file
cgroup ドライバー: cgroupfs
プラグイン:
ボリューム: ローカル
ネットワーク: ブリッジ ホスト macvlan null オーバーレイ
ログ: awslogs fluentd gcplogs gelf journald json-file logentries splunk syslog
群れ: 非アクティブ
ランタイム: runc
デフォルトのランタイム: runc
初期化バイナリ: docker-init
コンテナバージョン: 06b9cb35161009dcb7123345749fef02f7cea8e0
runc バージョン: 3f2f8b84a77f73d38244dd690525642a72156c64
初期化バージョン: 949e6fa
セキュリティ オプション:
seccomp
 プロフィール: デフォルト
カーネルバージョン: 3.10.0-327.el7.x86_64
オペレーティング システム: CentOS Linux 7 (コア)
OSタイプ: Linux
アーキテクチャ: x86_64
CPU: 1
合計メモリ: 993MiB
名前: localhost.localdomain
ID: 6ULL​​:CFMN:YT7C:4RXZ:2CJ4:26H2:D4Y6:YHUP:SH7L:QLEQ:AWEB:EWTB
Docker ルートディレクトリ: /var/lib/docker
デバッグモード(クライアント): false
デバッグモード(サーバー): false
レジストリ: https://index.docker.io/v1/
実験的: 偽
安全でないレジストリ:
127.0.0.0/8
ライブリストアが有効: false
警告: オーバーレイ: バッキング xfs ファイルシステムは d_type サポートなしでフォーマットされているため、不正な動作が発生します。
     d_type サポートを有効にするには、ファイルシステムを ftype=1 で再フォーマットします。
     d_type サポートなしでの実行は、将来のリリースではサポートされません。
警告: bridge-nf-call-iptables が無効になっています
警告: bridge-nf-call-ip6tables が無効になっています
[root@localhost ~]# docker kill 9c
9c
[root@localhost ~]# docker ps -a
コンテナID イメージ コマンド 作成ステータス ポート名
e84a746ea040 busybox "sh" 17分前 17分前 box3
9c1578a50f0b busybox "sh" 19 分前 終了 (137) 3 秒前 box2
4ca3d293206c busybox "sh" 20 分前 終了 (0) 20 分前 box1
[root@localhost ~]# docker stop e8
^[[Ae8
[root@localhost ~]# docker ps -a
コンテナID イメージ コマンド 作成ステータス ポート名
e84a746ea040 busybox "sh" 19分前 終了 (137) 1秒前 box3
9c1578a50f0b busybox "sh" 21 分前 終了 (137) 2 分前 box2
4ca3d293206c busybox "sh" 22 分前 終了 (0) 22 分前 box1
[root@localhost ~]# docker start e8
8番
[root@localhost ~]# docker ps -a
コンテナID イメージ コマンド 作成ステータス ポート名
e84a746ea040 busybox "sh" 22 分前 5 秒前 box3
9c1578a50f0b busybox "sh" 24分前 終了 (137) 4分前 box2
4ca3d293206c busybox "sh" 24 分前 終了 (0) 24 分前 box1
[root@localhost ~]# docker start 9c
9c
[root@localhost ~]# docker ps -a
コンテナID イメージ コマンド 作成ステータス ポート名
e84a746ea040 busybox "sh" 25分前 3分前 box3
9c1578a50f0b busybox "sh" 27 分前 3 秒前 box2
4ca3d293206c busybox "sh" 28 分前 終了 (0) 28 分前 box1
[root@localhost ~]# docker を再起動します 9c
9c
[root@localhost ~]# docker ps -a
コンテナID イメージ コマンド 作成ステータス ポート名
e84a746ea040 busybox "sh" 26 分前 4 分前 box3
9c1578a50f0b busybox "sh" 28 分前 7 秒前 box2
4ca3d293206c busybox "sh" 28 分前 終了 (0) 28 分前 box1

補足知識: Docker コンテナのすべての状態を 1 つの図で理解する

部分的な説明:

コンテナを作成するコマンド

runはcreateとstartの組み合わせです

作成-作成-開始

例:

docker で httpd を作成する

OCM ハードウェア情報

docker kill id コンテナを強制終了する

die プログラムを強制終了しないでください。そうしないとプロセスが失敗します。

docker pause :コンテナ内のすべてのプロセスを一時停止します。

docker unpause :コンテナ内のすべてのプロセスを再開します。

以上が私が皆さんにお伝えしたいDockerコンテナの状態変換の実装です。参考になれば幸いです。また、123WORDPRESS.COMを応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Dockerは終了状態で起動します
  • docker run -v はデータボリュームを異常にマウントし、コンテナのステータスは常に再起動になります。
  • Docker実行コンテナが作成状態にある問題についての簡単な説明
  • docker run後、ステータスは常にExitedになります
  • Zabbix は Docker コンテナのステータスを監視します [推奨]
  • Dockerコンテナシェルスクリプトの実行ステータスを監視する方法

<<:  HTML における src と href の違いについての簡単な説明

>>:  MySQLに挿入する前にデータが存在するかどうかを確認する方法

推薦する

MySQL 8.0 のメモリ関連パラメータの概要

理論的には、MySQL によって使用されるメモリ = グローバル共有メモリ + max_connec...

CentOS6.8 は cmake を使用して MySQL5.7.18 をインストールします。

オンライン情報を参考に、cmakeを使用してCentOS6.8サーバーにMySQL5.7.18をイン...

JavaScript 関数のカリー化

目次1 関数カリー化とは何ですか? 2 カレーの役割と特徴2.1 パラメータの再利用2.2 早期復帰...

Linux カーネルの探究: Kconfig の秘密

Linux 構成/ビルド システムがどのように機能するかを深く理解します。 Linux カーネル構成...

Alibaba Cloud CentOS 7 に MySQL 8.0.13 をインストールする方法

1. MySQL インストール パッケージをダウンロードします(ここにはコツがあります。おそらく、こ...

WeChatアプレットのスクロールビューは、プルアップ時にデータの読み込みを重複させるソリューションを実装しています。

WeChat アプレットのスクロール ビューでは、プルアップして読み込むときにバグが多く発生します...

React refの使用例

目次refとは何かrefの使い方DOM要素に配置するクラスコンポーネントに配置する関数コンポーネント...

IE6 の歪み問題

質問: <form...> の下の <input type="hidde...

MySQL では UTF-8 が推奨されないのはなぜですか?

最近、Rails 経由で「utf8」でエンコードされた UTF-8 文字列を MariaDB に保存...

VMware仮想マシンでのLinuxのコピー&ペーストの詳細な説明

1. VMware Workstation 上の Linux: 1. ソースの更新(オプション) v...

JSでよく使われるデータ処理方法

目次DOM処理配列方法要約するDOM処理DOM はドキュメントの構造化された表現を提供し、スクリプト...

MySQL でパーティション分割後にクエリを実装するために MRG_MyISAM (MERGE) を使用する例

大量のデータベース データを最適化することは非常に高度な科学であり、開発者が習得する必要がある専門的...

HTML 基本構造_Powernode Java アカデミー

多くの場合、Web ページ開発を学ぶときに最初に印象に残るのは、html または htm サフィック...

JavaScript における一般的な配列操作

目次1. 連結() 2. 結合() 3. プッシュ() 5. シフト() 6. シフト解除() 7....

Linux seqコマンドの使い方

1. コマンドの紹介seq (シーケンス) コマンドは、指定されたステップ サイズに従って、開始番号...