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

推薦する

vue3 を使用してマテリアル ライブラリを構築する方法

目次なぜマテリアルライブラリが必要なのでしょうか?材質は何ですか?素材の種類fuep、vue3 ベー...

WeChat アプレット wxss で外部 CSS ファイルとアイコンフォントを参照する方法

原因外部ファイルをミニプログラムにインポートする方法は次のとおりです: @import "...

MySQL データ型の詳細

目次1. 数値型1.1 数値型の分類1.1.1 浮動小数点数1.1.2 ビットタイプ1.1.3 時間...

JavaScriptはシンプルな計算機能を実装します

この記事では、参考までに、簡単な計算機を実装するためのJavaScriptの具体的なコードを紹介しま...

Tomcat9 Windows サービスのインストールに関する詳細なチュートリアル

1. 準備1.1 service.bat を含む tomcat 圧縮パッケージをダウンロードします。...

CSS で放射状グラデーションを使用してカード効果を実現する

数日前、同僚がポイントモールプロジェクトを受け取りました。このプロジェクトには、カードやクーポンをギ...

UbuntuのVimにNERDTreeプラグインをインストールする詳細な手順

NERDTree は Vim 用のファイル システム ブラウザーです。このプラグインを使用すると、ユ...

Vueコンポーネントの詳細な説明

<本文> <div id="ルート"> <h2&...

MySQL ページング中にオフセットが大きすぎる場合の SQL 最適化の経験の共有

問題を見つけるコンテンツをリストで表示すると、リスト内のコンテンツの数は多いかもしれませんが、ユーザ...

擬似静的およびクライアント適応型 Nginx の設定方法

バックエンドは thinkphp3.2.3 フレームワークを使用します。他の言語を使用している場合は...

JavaScript ベースのシンプルなカルーセルの実装

この記事では、シンプルなカルーセルを実装するためのJavaScriptの具体的なコードを参考までに紹...

MySQLが正常にインストールされたかどうかを確認する方法

MySQL をインストールした後、DOS ウィンドウまたは MySQL 5.7 コマンドライン クラ...

dockerでpdflatex環境を設定する方法

技術的背景Latex は文書作成、特に記事作成には欠かせないツールであり、必須のテキスト組版ツールで...

HTMLは正規表現を使用してテーブルの例をテストします

以下は、HTML で正規表現を使用してテーブルをチェックするサンプル コードです。具体的なコードの内...

ブロックレベル要素、インライン要素、可変要素の概要

ブロック要素p - 段落テキストの事前フォーマットテーブルol - ソートフォームul - 順序なし...