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

推薦する

Node.js http モジュールの使用

目次序文ウェブHTTP サーバーファイルサーバー練習する序文Node.js 開発の目的は、JavaS...

Dockerイメージ内のファイルを表示する方法

Dockerイメージ内のファイルを表示する方法1. すでに実行中の場合すでに実行中のイメージについて...

インストールされていないバージョンの MySQL を使用する手順とパスワードを忘れた場合の解決策

最初のステップは、圧縮されたパッケージを対応するディスクに解凍することです。 2 番目の手順は、cm...

MySQL における楽観的ロックと悲観的ロックの例

データベース管理システムにおける同時実行制御のタスクは、データベース内の同じデータに同時にアクセスす...

一般的な nginx コマンドをシェル スクリプトに組み込む方法の詳細な説明

1. nginxシェルスクリプトを保存するフォルダを作成する /usr/local/タスク/ngin...

Nginx rtmp モジュールのコンパイル ARM バージョンの問題

目次1. 準備: 2. ソースコードのコンパイル1. 設定する2. コンパイルエラー3. ターゲット...

MySQL で単一のデータベースまたはテーブルを復元する方法と、起こりうる落とし穴

序文:最も一般的に使用される MySQL 論理バックアップ ツールは mysqldump です。通常...

JavaScript フレームワーク デザイン パターンの詳細な説明

目次動画最優秀選手ムヴヴムVueのソーススパ mpa要素を作成するクラス要約する動画 Model(模...

JavaScript の高度なプログラミングの基本参照型

目次1. 日付2. 正規表現3. オリジナルパッケージタイプ序文:参照値(オブジェクト)は、 Dat...

Docker-compose インストール yml ファイルの設定方法

目次1. オフラインインストール2. オンラインインストール3. アンインストール4. ymlファイ...

ElementUIテーブルのヘッダーアイコンにフローティングプロンプトを追加します。

この記事では主に、ElementUI テーブルのヘッダー アイコンにフローティング プロンプトを追加...

IIS 7.5はURL書き換えモジュールを使用してWebページのリダイレクトを実現します。

Apache では構成ファイルで Web ページまたは Web サイトの書き換えを簡単に設定できる...

Vue で PC アドレスをモバイル アドレスにリダイレクトする方法

要件:PC側とモバイル側は2つの独立したプロジェクトです。2つのプロジェクトの内容は基本的に同じで、...

Linuxブートサービスを起動する2つの方法

目次rc.local メソッドchkconfig メソッドrc.local メソッド1 まず自動的に...

NODE.JS を使用して WEBSERVER を作成する手順

目次Node.jsとはNodeJSをインストールするNode を使用して Hello World を...