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に挿入する前にデータが存在するかどうかを確認する方法

推薦する

ファイルアップロードスタイルの詳細を実装するjs

目次1. 概要2. オブジェクト作成のパラメータ3. 監視例4. 使用方法5. ソースコード1. 概...

Ace をベースにした Markdown エディターを共有する

エディターは 2 つのカテゴリに分かれていると思います。1 つは、即時レンダリングを実現するために左...

WeChatアプレットの手動および自動追跡の実装の詳細説明(Taro)

どの企業もユーザーベースを拡大したいのであれば、ユーザーの操作データを収集・分析する必要があり、その...

タイムスタンプの差を計算するSQLメソッド

タイムスタンプの差を計算するSQLメソッド概要場合によっては、特定のレコードを時間で検索する必要があ...

CentOS7 systemdにカスタムシステムサービスを追加する方法

システムド: CentOS 7のサービスsystemctlスクリプトは、/usr/lib/syste...

ログインと登録機能を実現するjs

この記事の例では、ログインと登録機能を実装するためのjsの具体的なコードを参考までに共有しています。...

Vue のライフサイクルとフック関数の詳細な説明と典型的な面接の質問

目次1. Vue ライフサイクル2. フック機能2.1 4つの段階と8つの方法に分かれています。 2...

Nginx コンテンツ キャッシュと共通パラメータ設定の詳細

使用シナリオ:プロジェクトのページでは、頻繁に変更されず、個別のカスタマイズも伴わない大量のデータを...

JavaScriptはオブジェクトの不要なプロパティを削除します

目次例方法1: 削除方法2: 分解補充する要約するThinking シリーズは、10 分で実用的なプ...

CSS 擬似要素::マーカーの詳細な説明

この記事では、CSS ::markerの興味深い疑似要素を紹介します。これを使用すると、テキスト番号...

Linux でディスク IO を表示し、読み取りと書き込みで高い IO を占有するプロセスを見つけます。

背景 - オンラインアラートオンライン サーバーがアラームを発し、ディスク使用率 disk.util...

Mariadb リモート ログイン構成と問題解決

序文:インストール プロセスについては詳しく説明しません。問題に直接触れましょう。MySQL のリモ...

jsを使って簡単な計算機を作る

この記事では、jsで簡単な計算機を作成する具体的なコードを参考までに共有します。具体的な内容は次のと...

Vueはログイン認証コードを実装する

この記事では、ログイン認証コードを実装するためのvueの具体的なコードを例として紹介します。具体的な...

VUE uni-app でよく使用される API についての簡単な説明

目次1. ルーティングとページジャンプ2. インターフェース要約する1. ルーティングとページジャン...