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 インストール情報の表示

推薦する

Linux netstatコマンドの詳細な説明

目次Linux netstat コマンド1. TCP接続ステータスの詳細な説明2. コマンド形式3....

MySQL データ型の最適化の原則

MySQL は多くのデータ型をサポートしており、高パフォーマンスを得るには適切なデータ型を選択するこ...

CentOS7でFTPサーバーを設定する方法

FTP は主にファイル転送に使用され、Linux では vsftpd で実装されるのが一般的です。F...

クロスオリジン画像リソース権限(CORS 対応画像)

HTML 仕様書では、画像の crossorigin 属性が導入されています。適切なヘッダー情報 ...

Ubuntu Dockerのインストールと使い方

目次1. 公式インストールスクリプトを使用した自動インストール手動インストール古いバージョンをアンイ...

Mysql 8.0.18 ハッシュ結合テスト (推奨)

ハッシュ結合ハッシュ結合は実行にインデックスを必要とせず、ほとんどの場合、現在のブロックネストループ...

HTML の隠しフィールドの紹介と例

基本的な構文: <input type="hidden" name=&qu...

一般的なブラウザ互換性の問題(概要)

ブラウザの互換性とは、スタイルの互換性 (CSS)、インタラクションの互換性 (JavaScript...

VMwareがwin10ホームバージョンに64ビットオペレーティングシステムをインストールできない問題を解決します

問題の説明VMware Workstationが新しい仮想マシンを作成し、64ビットオペレーティング...

IE アドレスバーのアイコン表示問題を解決する 3 つの手順

<br />この Web ページ制作スキル チュートリアルは、Web サイトのアイコンを...

ミニプログラムは、カスタムのマルチレベル単一選択と複数選択を実装します

この記事では、参考のために、ミニプログラムでカスタムのマルチレベル単一選択および複数選択機能を実装す...

ページ要素の絶対位置と相対位置に関するある程度の理解

今日から、定期的にちょっとした豆知識を整理していきます。簡単なものもあるかもしれませんが、どれも役に...

MySQL8インストーラーバージョングラフィックチュートリアル

インストール必要な書類は下部に記載されていますステップ1 mysql-installer-web-c...

Ant Design Blazor コンポーネントライブラリのルーティング再利用マルチタブ機能

最近、Ant Design Blazor コンポーネント ライブラリにマルチタブ コンポーネントを実...

ウェブサイトでページコンテンツや情報を直接コピーできない問題を解決する方法

最近では、多くのウェブサイトでは、ページ上の特定のコンテンツや情報を直接コピーすることは許可されてお...