Dockerコンテナを作成、起動、停止する方法

Dockerコンテナを作成、起動、停止する方法

1. コンテナとは、独立して実行されるアプリケーション、またはアプリケーションのグループとその動作環境です。コンテナは Docker における重要な概念です。

2. Dockerコンテナを起動する方法は3つあります

a. 対話モード:イメージに基づいて新しいコンテナを作成し、起動します。

たとえば、コンテナを起動して現在のカレンダーテーブルを印刷することができます。

[root@rocketmq-nameserver4 ~]# docker run my/python:v1 cal ##my/python:v1はイメージ名とタグです

パラメータを指定して bash 対話型ターミナルを起動することもできます。

[root@rocketmq-nameserver4 ~]# docker run -it my/python:v1 /bin/bash 


-t パラメータは、Docker に疑似端末を割り当ててコンテナの標準入力にバインドするように指示し、-i パラメータはコンテナの標準入力を開いたままにします。

コンテナを起動するには、docker run コマンドを使用します。docker がバックグラウンドで実行する標準的な操作には、次のものがあります。

1. 指定されたイメージがローカルに存在するかどうかを確認します。存在しない場合は、パブリックウェアハウスからダウンロードします。
2. イメージを使用してコンテナを作成して起動する
3. ファイルシステムを割り当て、読み取り専用イメージ層の外側に読み取りおよび書き込み可能な層をマウントする
4. ホストに設定されたブリッジインターフェースからコンテナに仮想インターフェースをブリッジする
5. アドレスプールからコンテナにIPアドレスを割り当てる
6. ユーザーが指定したアプリケーションを実行する
7. コンテナは実行後に終了する


my/sinatra:v2 は、training/sinatra イメージに基づいて変更されたイメージです。training/sinatra は、パブリック リポジトリ上のイメージです。

b. 短期的な方法: 終了したコンテナを直接起動する

docker start コマンドを使用して、終了したコンテナを直接起動できます。

[root@rocketmq-nameserver4 ~]# docker run my/python:v1 /bin/echo hello test 
こんにちはテスト

コマンドを実行すると、コンソールに「hello test」と表示され、コンテナは終了しますが、消えることはありません。「docker ps -n 5」を使用すると、最新の 5 つのコンテナを表示できます。最初のコンテナは、実行されたばかりのコンテナです。もう一度実行できます: docker start container_id

ただし、今回はコンソールに「hello test」は表示されず、ID のみが表示されます。これは、logs コマンド docker logs container_id を使用して表示できます。コンテナが 2 回実行されたため、2 つの「hello test」が表示されます。

c. デーモンモード、ガードモードで実行

つまり、ソフトウェアを長期サービスとして実行する、これが SAAS です。

たとえば、Centos バックグラウンド コンテナーを起動し、その日のカレンダーを毎秒印刷します。

$ docker run -d centos /bin/sh -c "while true;do echo hello docker;sleep 1;done"

起動後、docker ps -n 5を使用してコンテナ情報を表示します。

起動した Centos コンテナの出力を表示するには、次の方法を使用できます。

$ docker logs $CONTAINER_ID ## コンテナ外部の出力を表示します $ docker attach $CONTAINER_ID ## コンテナに接続してリアルタイムで表示します:

3. コンテナを終了する

実行中のコンテナを終了するには、docker stop $CONTAINER_ID を使用します。また、docker ps -a を使用して終了したコンテナを表示できます。

終了したコンテナは、docker start を使用して再起動できます。

コンテナを再起動するには、docker restart コマンドを使用します。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Dockerコンテナの入退出方法の詳細な説明
  • 自動開始および停止コマンドを適用するには、Docker サービスを再起動します (推奨)
  • Dockerコンテナを終了した後も実行を継続する方法

<<:  ElementUI のネストされたテーブルに基づいて複数選択を実装するためのサンプル コード

>>:  Linux サーバーでの MySQL インストール情報の表示

推薦する

Win10でのJDKのインストールと環境変数の設定に関する詳細なチュートリアル

目次序文1. 準備2. インストール3. 環境変数を設定する1. 「新規」をクリックすると、ポップア...

ES6拡張演算子の理解と使用シナリオ

目次1. 適用メソッドを置き換え、関数を呼び出すときにパラメータを処理する2. 残りパラメータ(残り...

Linux のスケジュールされたタスクの crontab のインストールと使用の詳細な説明

crontabをインストールするyum install crontabs CentOS 7が付属して...

MySQLのインデックス

序文早速本題に入りましょう。これからお話しするのは次のマインドマップです。まずは印象をつかんでくださ...

SQL 実践演習: オンライン モール データベースの製品カテゴリ データ操作

オンラインショッピングモールデータベース - 商品カテゴリデータ操作(I)プロジェクトの説明電子商取...

ネイティブ js でカスタム難易度のマインスイーパ ゲームを実装する

この記事の例では、マインスイーパゲームを実装するためのjsの具体的なコードを参考までに共有しています...

MySQL データベースのエンコーディングを utf8mb4 に変更する方法

utf8mb4 エンコーディングは utf8 エンコーディングのスーパーセットであり、utf8 と互...

Windows Server 2016 に Oracle をインストールする方法

1. Oracle をインストールします。インターネット上には Oracle のインストール手順が多...

MySQL の最適化: 高品質の SQL 文を書く方法

序文インターネット上にはデータベースの最適化に関する情報や方法が数多くありますが、その多くは品質にば...

JS の効率的なマジック演算子の概要

JavaScript は現在、毎年新しいバージョンがリリースされており、より便利で効率的な新しい演算...

Linux の一般的なコマンド chmod を使用して、ファイルの権限 777 と 754 を変更します。

よく使用されるコマンドは次のとおりです。 chmod 777 文件或目錄例: chmod 777 /...

ワンクリックで雨や雪のエフェクトを実現する ThingJS パーティクルエフェクト

目次1. パーティクルエフェクト2. シーンを読み込む3. さまざまな粒子効果の実現エンディング: ...

MySQL デュアルマシン ホットスタンバイ実装ソリューション [テスト可能]

目次1. コンセプト2. 環境の説明3. マスタースレーブホットスタンバイ実装1. コンセプト1. ...

MySQLとOracleのメタデータ抽出例分析

目次序文メタデータとは参照文書アドレスまずはMySQLについてお話しましょうOracleについて話し...

将来人気が出るであろういくつかのナビゲーション方向

<br />今は情報爆発の時代であるだけでなく、サービス爆発の時代でもあります。それはす...