docker runとstartの違い

docker runとstartの違い

docker における実行と開始の違い

Docker run はミラーイメージを指定します。

そしてdocker startはコンテナを指定します

Docker run はイメージを使用してコンテナを生成し、コンテナを起動しますが、Docker start は以前に生成されたコンテナを起動します。

試す

Docker start はすでに作成されているコンテナを起動します。

例えば、私のDockerにはSpringbootプロジェクトのミラーがあります

次に、docker run コマンドを使用して起動します。docker ps を使用すると、springboot コンテナが起動されたことがわかり、その後停止します (docker stop)

次に、docker start を使用して起動し、docker ps を使用して、以前に停止したものが起動したことを確認します。

[root@localhost ~]# docker イメージ
リポジトリ タグ イメージ ID 作成 サイズ
springbootdocker 最新 5fe8370f7f83 25 時間前 677 MB
daocloud.io/rabbitmq 3-management 1d0a5c8a8d4e 4 週間前 177 MB
daocloud.io/library/tomcat 最新 89481b5d9082 7 週間前 506 MB
daocloud.io/library/mysql 5.5 d404d78aa797 3か月前 205 MB
daocloud.io/library/java 最新 d23bdf5b1b1b 2年前 643 MB
docker.io/java 8 d23bdf5b1b1b 2年前 643 MB
[root@localhost ~]# docker run --name springboot -p 8080:8080 -d 5f
dd100a4c60a7a6606244873bc61a8a6f419361ab78fcd038d4baef3f38f05157
[root@localhost ~]# docker ps
コンテナID イメージ コマンド 作成ステータス ポート名
dd100a4c60a7 5f "java -Djava.secur..." 19 秒前 18 秒前にアップ 0.0.0.0:8080->8080/tcp springboot
[root@localhost ~]# docker stop dd
dd
[root@localhost ~]# docker ps -a
コンテナID イメージ コマンド 作成ステータス ポート名
dd100a4c60a7 5f "java -Djava.secur..." 39 秒前 終了 (143) 3 秒前 springboot
f3b181616dac 1d0a5c8a8d4e "docker-entrypoint..." 3 週間前 終了 (255) 2 週間前 4369/tcp、5671-5672/tcp、0.0.0.0:5762->5762/tcp、15671/tcp、25672/tcp、0.0.0.0:15672->15672/tcp myrabbit0
ea0a9cb0fe2f 89481b5d9082 "catalina.sh run" 4 週間前 終了 (129) 4 週間前 clever_leakey
[root@localhost ~]# docker start dd
dd
[root@localhost ~]# docker ps
コンテナID イメージ コマンド 作成ステータス ポート名
dd100a4c60a7 5f "java -Djava.secur..." 約 1 分前 2 秒前に起動 0.0.0.0:8080->8080/tcp springboot
[root@localhost ~]#

補足: Docker コンテナの起動 | 再起動 | 停止

最近、Fabric ネットワークのメンテナンス中に、サーバーの電源障害が発生しました。Kafka と Zookeeper のコンテナを除き、他のコンテナはすべて Exited 状態でした。

コンテナを再起動する必要があります

1. dockerを起動する

停止したコンテナを1つ以上起動する

docker start [オプション] コンテナ [コンテナ...]
#コンテナの名前またはIDに従ってコンテナを起動できます $ docker start ID/NAME

オプション:
# -a パラメータはコンテナに接続し、出力またはエラーを出力します -a, --attach STDOUT/STDERR をアタッチし、シグナルを転送します 
# パラメータが分かりません…
   --detach-keys string コンテナをデタッチするためのキーシーケンスを上書きする
# -i パラメータはコンテナを起動し、対話モードに入ります -i, --interactive コンテナの STDIN を接続します

2. dockerを再起動する

コンテナが以前に起動または停止されたかどうかに関係なく、コンテナを再起動します。

docker restart [オプション] コンテナ [コンテナ...]
#コンテナの名前またはIDに応じてコンテナを再起動できます $ docker restart ID/NAME

オプション:
# -t パラメータ コンテナを停止するまでの待機時間 (デフォルト 10 秒)
 -t, --time int コンテナを強制終了する前に停止を待つ秒数 (デフォルト 10)

3. docker を停止する

実行中のコンテナを停止する

docker stop [オプション] コンテナ [コンテナ...]
#コンテナの名前またはIDに応じてコンテナを停止できます $ docker restart ID/NAME

オプション:
# -t パラメータ コンテナを停止するまでの待機時間 (デフォルト 10 秒)
 -t, --time int 停止を待つ秒数 (デフォルト 10)

これらのコマンドを使用すると、停止したコンテナを再起動するのに便利です。

もう 1 つ注意すべき点は、Fabric ネットワーク内のチェーンコード コンテナは、上記のコマンドを使用して再起動する必要がないことです。起動したピア ノードがクエリ コマンドを使用してクエリを実行すると、チェーンコード コンテナが自動的に起動します。

以下もご興味があるかもしれません:
  • Dockerイメージ送信コマンドcommitの動作原理と使い方の詳細な説明
  • docker run 起動パラメータ コマンドを表示する方法 (推奨)
  • Dockerのプロセスとイメージを実行するための基本コマンドの詳細な説明

<<:  React コンポーネント間で通信する 3 つの方法 (シンプルで使いやすい)

>>:  HTML テキストエスケープのヒント

推薦する

テーブル適応とオーバーフローのいくつかの設定の詳細な説明

1. テーブル リセットの 2 つのプロパティ: ①border-collapse: collaps...

Vue で axios を使用して画像をアップロードするときに発生する問題

目次FormDataとは何ですか? vueとaxiosの協力による実践的な体験追加()セット()消去...

jsネイティブ構文プロトタイプ、__proto__、コンストラクタの徹底的な理解

目次1 はじめに2 前提条件2.1 データ型2.2 それが自身のプロパティであるかどうかを判断する ...

MySQLはイベントを使用してスケジュールされたタスクを完了します

イベントでは、SQL コードを 1 回または一定の間隔で実行することを指定できます。通常、複雑な S...

Vue コード強調プラグインの総合的な比較と評価

目次総合的な比較アクティブの観点から機能的な観点から詳細な比較1. エース2. コードミラー3. モ...

SSL を実装するために nginx を設定する方法の例

環境説明サーバーシステム: Ubuntu 18.04 64ビットnginx: 1.14この記事では主...

QQtabBar による CSS 命名仕様 BEM の詳細な紹介

QQtabBar の BEMまず、BEMとはどういう意味でしょうか? BEM は、ブロック、要素、修...

js における浅いコピーと深いコピーの詳細な説明

目次1. jsメモリ2. 譲渡3. 浅いコピー4. ディープコピー序文:以下の記事を読む前に、記憶に...

Vue スキャフォールディング プロジェクトを作成するための詳細な手順

vue スキャフォールディング -> vue.cli大規模で完全に機能する Vue プロジェク...

MySQL 権限昇格のさまざまな形態の概要

目次1. Webshel​​lを書く出力ファイルにシェルを書き込むログファイル書き込みシェル2. U...

vue-cropperプラグインは、画像キャプチャとアップロードコンポーネントのカプセル化を実現します。

vue-cropperプラグインをベースにした画像キャプチャとアップロードコンポーネントをカプセル...

Dockerはローカルイメージをパッケージ化し、他のマシンに復元します

1. docker imagesを使用して、このマシン上のすべてのイメージファイルを表示します。 2...

CSSの幅と高さのデフォルト値の詳細な説明:autoと%

結論は幅の%: 包含ブロック(親要素)の幅に基づいて、親の制限を超える幅のパーセンテージを定義します...

フロントエンドのパフォーマンス最適化 - フロントエンドエンジニアが話し合うべき問題点

はじめに<br />前回の記事「私の CSS アーキテクチャ コンセプト」では、公園で友...