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

推薦する

MySQL5.7 mysqldump バックアップとリカバリの実装

MySQL バックアップコールドバックアップ:停止服務進行備份,即停止數據庫的寫入ホットバックアップ...

Node.js の TCP 接続処理のコア プロセス

数日前、友人と Node.js の epoll とリクエスト処理に関する知識を交換しました。今日は、...

Linux 上で Docker コンテナを作成、一覧表示、削除する方法の概要

1. Dockerコンテナを起動する以下のコマンドを使用して新しい Docker コンテナを起動しま...

Docker 学習: コンテナ コンテナの具体的な使用方法

コンテナは Docker のもう一つの中心的な概念です。簡単に言えば、コンテナとは、独立して実行され...

...

Vue-router ネストルーティングの詳細な説明

目次ステップ1. ルーティング ルールを設定し、子構成項目を使用します。 2. ジャンプ(フルパスを...

Windows の MySQL net start mysql MySQL サービスの起動エラーが発生する システムエラーの解決

目次1- エラーの詳細2-シングルソリューション2.1-ディレクトリ C:\Windows\Syst...

Reactは二次連結(左右連結)を実現する

この記事では、二次リンクを実現するためのReactの具体的なコードを参考までに共有します。具体的な内...

Element UI をインストールして vue3.0 でベクター グラフィックスを使用する方法

ここでは、v3 のインストールと使用にのみ焦点を当てます。v2 について学びたい場合は、公式 Web...

mybatis-plusページングパラメータが渡された後、SQLのwhere条件にはページング情報操作の制限がありません

2時間近くかけて、さまざまな方法を試しました。後で、whereでフィルタリングした後のデータ量が1ペ...

仮想スクロールを簡単に実装するためのVueサンプルコード

目次序文ローリング原理成し遂げるソースコード参照する序文モバイル Web ページの日常的な開発では、...

純粋なHTML+CSSでタイピング効果を実現

この記事は主に、一定の参考値を持つ純粋な HTML + CSS によって実現されるタイピング効果を紹...

MySQL alter ignore構文の詳細な説明

今日仕事中に、ビジネス側から次のような質問をされました。テーブルがあり、一意のフィールドを追加する必...

MySQL トリガー構文とアプリケーション例

この記事では、例を使用して MySQL トリガーの構文とアプリケーションを説明します。ご参考までに、...

Linux で at および cron スケジュールタスクをカスタマイズする方法

Linux システムには 2 種類のスケジュールされたタスクがあります。1 つは 1 回だけ実行され...