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

推薦する

opensslを使用して無料の証明書を生成する方法

1: openssl とは何ですか? その機能は何ですか?適用シナリオは何ですか? Baidu 百科...

背景位置パーセンテージ原則の詳細な説明

今日、誰かがコードを調整するのを手伝っていたとき、次のようなスタイルを見つけました。 背景位置: 5...

Linux で MySQL をインストールする簡単な方法

Linux に MySQL をインストールする方法をオンラインで検索すると、多くの方法が表示されまし...

カルーセルアニメーションを実現するVueコンポーネント

この記事では、カルーセルアニメーションを実現するためのVueコンポーネントの具体的なコードを例として...

WeChatミニプログラムの開発をスピードアップするためのヒント

1. app.jsonを使用してページを作成する私たちの通常の開発習慣によれば、新しいページを作成す...

MySQL ルートパスワードを変更する 4 つの方法 (要約)

方法1: SET PASSWORDコマンドを使用するまずMySQLにログインします。フォーマット: ...

Linux で同じバージョンの R を使用して Seurat2 と Seurat3 を同時にインストールするチュートリアル

Seurat は、単一細胞解析用の重量級の R パッケージです。使用したことがある人なら誰でも、その...

docker の run/cmd/entrypoint の違いの詳細な説明

Dockerfile では、run、cmd、entrypoint はすべてコマンドを実行するために使...

ページに間隔を空けてグリッドレイアウトを完璧に実装する方法

典型的なレイアウト例上の写真のように、正方形の真ん中に一定の隙間があり、その隙間は固定されています。...

MySQL データベースの文字化け問題の原因と解決策

序文データベースのデータを表示すると、文字化けした文字が表示されることがあります。実際、どのようなデ...

nginxプロキシsocket.ioサービスの落とし穴の詳細な説明

目次Nginx は 2 つの socket.io サーバーをプロキシします。 socket.ioの動...

非常に優れた CSS スキル 10 選のコレクションと共有

ここでは、CSS テクニックを巧みに使用することで、HTML を変更せずにブログやテンプレートの外観...

Gitlab-ci を使用してリモート マシンに継続的にデプロイする方法 (詳細なチュートリアル)

簡単に言うと、今日は Gitlab-CI を使用してリモート サーバーに自動的にデプロイする方法につ...

CSS3でシャトル星空のアニメーションを実現

結果: html <canvas id="スターフィールド"><...

Linux ディスク管理 LVM の使用

1. LVM の概要Linux ディスクを管理するときに、このような状況に遭遇することがよくあります...