コンテナとクラウドは現在最も人気のあるテクノロジーであり、IT 担当者なら誰でも習得すべきスキルです。まだ Docker を学習していない場合は、この記事が役に立ちます。この記事では、一般的なチュートリアルにある理論的な説明の多くを脇に置いて、直接実践的な操作から始めます。この記事に記載されているコマンドを学習すれば、Docker の基本的なスキルを習得したことになります。これを基にさらに深い知識を学ぶことができます。 1. コンテナ管理 コンテナは、リソース制約 (cgroups)、セキュリティ制約 (Unix 権限、機能、SELinux、AppArmor、seccomp など)、および名前空間 (PID、ネットワーク、マウントなど) によって厳密に制限される Linux のアプリケーションです。 Docker は最も一般的なコンテナ テクノロジーです。 Docker は、Docker デーモン (リスナー)、Docker イメージ (レイヤー)、Docker ストレージ (ボリューム)、および Docker ネットワークで構成されます。コンテナは、Docker イメージに基づいて Docker ランタイムによって作成される Docker インスタンスです。 コンテナを作成する コンテナを作成するには、create コマンドを使用し、[image name] を実行するイメージの名前に置き換えます。
Enter キーを押すと、Docker はデフォルトでローカル イメージ ライブラリを検索します。そうでない場合は、Docker Hub でイメージを検索し、ローカル システムにダウンロードして、停止したコンテナーを作成します。 たとえば、golang コンテナを作成します。 コンテナの作成と実行 コンテナを作成して実行するには、run コマンドを使用し、[イメージ名] を実行するイメージの名前に置き換えます。このコマンドは、指定されたイメージをローカルおよび Docker Hub で検索し、ローカルにダウンロードし、コンテナを作成して起動します。
停止したコンテナを起動する 停止されているコンテナを起動するには、start コマンドを実行します。開始コマンドは、[コンテナ名] またはコンテナ ID に置き換えることができます。 docker ps -a を使用すると、ローカル コンテナ (停止されたコンテナを含む) のリストを表示できます。
コンテナを停止する 実行中のコンテナを停止するには、stop コマンドを使用します。コンテナを停止した後、start コマンドで起動できます。
コンテナの再起動 コンテナを再起動するには、restart コマンドを使用します。このコマンドは実行中のコンテナを停止し、再起動することができます。
コンテナを一時停止する 実行中のコンテナ内のプロセスを一時的に停止する必要がある場合は、pause コマンドを使用できます。
一時停止したコンテナの再開 コンテナを一時停止した後、unpause コマンドを使用して一時停止したコンテナを再開できます。
実行中のコンテナを一覧表示する システム上で実行中のコンテナのリストを表示する必要がある場合は、次のコマンドを実行します。
上記のコマンドは、現在実行中のコンテナのみを一覧表示します。ローカルマシン上のすべてのコンテナを一覧表示する場合は、次のコマンドを使用できます。
コンテナの削除 コンテナを削除するには、rm コマンドを使用します。コンテナを削除するには、コンテナが停止していることを確認してください。そうでない場合はエラーが報告されます。
コンテナのアンインストール システムからコンテナを削除するには、次のコマンドを実行します。 [containername] を、削除するコンテナの名前または ID に置き換えます。
コンテナオペレーション コンテナに対して操作を実行する場合、exec コマンドと attachment コマンドの 2 つの方法があります。 exec コマンドは、実行中のコンテナ内でコマンドを実行するために使用されます。例:
疑似端末が開き、端末内でコマンドを実行できるようになります。 実行中のコンテナに接続するには、attach コマンドを使用します。
コンテナにアタッチした後、Ctrl+C を押して終了できます。ただし、終了するとコンテナも停止します。終了時にコンテナが実行されないようにするには、--sig-proxy=false パラメータを使用できます。この方法では、Ctrl+C[D]を押した後もコンテナは実行を継続します。 コンテナログを表示する 現在のコンテナの実行ステータスを表示するには、コンテナ ログを表示する必要があります。コンテナに取り付けて直接表示することができます。もちろん、より一般的な方法は、logs コマンドを使用することです。
ログにはいくつかのパラメータが付随する場合があります:
コンテナの構成を表示する コンテナのすべての構成情報は、実際には JSON ファイルです。コンテナのすべての情報を表示するには、inspect コマンドを使用できます。
2. 画像管理 コンテナ イメージは、Docker コンテナのオペレーティング システム、アプリケーション、および初期状態が含まれるファイルです。 Dockerfile からビルドすることも、すでに実行中のコンテナから作成することもできます。 Docker では、イメージは次の内容を含む標準の Tar パッケージです。
rootfs に基づいて、上記の json は相互依存する可能性があるため、docker イメージはレイヤーに分割されます。 Dockerfileでイメージを構築する Dockerfile は、Docker がコンテナ イメージを作成およびビルドするために使用するコマンドのリストです。次のコマンドを実行すると、Dockerfile からイメージを構築できます。
コンテナからイメージを構築する 実行中のコンテナからイメージをビルドすることも可能です。これは、コンテナのスナップショットをバックアップする簡単な方法でもあります。
Docker Hubからイメージを取得する 次のコマンドを使用して、Docker Hub からローカル システムにイメージをダウンロードできます。
イメージをDocker Hubにプッシュする コンテナ イメージを Docker Hub にプッシュする前に、Docker Hub にアカウントを作成し、ターミナルで docker login コマンドを実行してログインする必要があります。
次に、必要に応じてユーザー名とパスワードを入力します。認証が成功したら、次のコマンドを使用してイメージを Docker Hub にプッシュできます。
コンテナイメージの一覧表示 システム上のイメージの一覧を表示する必要がある場合は、次のコマンドを実行します。
または直接使用する
システムからイメージを削除する システムからイメージを削除する場合は、remove コマンドを使用します。
ボリューム管理 デフォルトの Docker ボリュームは、docker run または docker create コマンドを通じてコンテナーに接続できるため、イメージの再構築プロセス中に作成されたデータは変更されません。 Dockerボリュームの作成 Docker ボリュームを作成するには、ボリュームの create コマンドを使用します。
Dockerボリュームの削除 rm コマンドを実行して Docker ボリュームを削除します。ボリュームを削除すると、そのボリュームに保存されているすべてのデータが削除されることに注意してください。
ボリューム情報を表示 場合によっては、作成されたボリュームに関するさまざまな詳細を表示する必要があります。ボリュームに対してinspectコマンドを使用できます。
すべてのDockerボリュームを一覧表示する システム上のすべてのボリュームのリストを表示する必要がある場合は、ボリュームに対して ls コマンドを使用できます。
4. ネットワーク管理 Docker ネットワークは、コンテナが相互に接続し、インターネットに接続する方法を決定します。データのセキュリティを確保するために、さまざまなソフトウェア アプリケーション スタック専用のネットワークを作成できます。 Dockerネットワークを作成する docker network create コマンドは、コンテナを相互に接続し、ホストのネットワークとインターネット接続を共有するブリッジ ネットワークを現在のシステム上に作成します。
コンテナをネットワークに接続する コンテナを新しいネットワークに接続するには、connect コマンドを使用します。
コンテナをネットワークから切断する コンテナをネットワークから切断するには、disconnect コマンドを使用します。
ネットワーク情報を表示する ネットワークの詳細情報を確認する必要がある場合は、ネットワーク上でinspectコマンドを使用できます。
すべてのネットワークを一覧表示する ネットワーク上で ls コマンドを使用すると、システム上のすべての docker ネットワーク情報を一覧表示できます。
ネットワークの削除 システムからネットワークを削除します。 、ネットワーク上で rm コマンドを使用できます。
V. 結論 この記事では、一般的な docker コマンドをリストします。これらのコマンドを上手に使用できるということは、すでに docker テクノロジを使い始めていることを意味します。その後、コンテナ オーケストレーション K8S クラスターなど、さらに詳しく学習できます。 |
<<: 基本的なソフトウェアとハードウェアの互換性の観点からデスクトップクラウドの応用について議論する
>>: クラウドが AI へと移行する中、業界の主流メーカーはどのようにしてエコシステムをさらに進化させることができるでしょうか?
専用、おそらく一部の人々はそれを知らないでしょうが、実際には以前は usdedicated と呼ばれ...
モバイル開発者の熱意はさらに高まっているのか、それとも現実に打ちのめされているのか。iMedia の...
今回はMADCINカンファレンスに出席するために再び厦門に戻り、有名な旅行ウェブサイトを通じてホテル...
1. Macvlan の紹介Macvlan が登場する前は、イーサネット カードには複数の IP ア...
最適化に取り組み始めたばかりの人の多くは、SEO に取り組み始めた頃の私と同じように、サイトの最適化...
Android プラットフォームに対する外部開発者の関心は薄れている (写真提供: Tencent ...
5月22日夜、アリババグループは2020年度の業績を発表した。アリババクラウドの年間収益は400億元...
[[375905]] Amazon Web Services (AWS) はどのようにして世界トップ...
今日は、非常にハードコアな技術的知識についてお話ししましょう。 CopyOnWrite のアイデアと...
eName.cnは6月13日、Baidu Academic Searchがセカンドレベルドメイン名x...
7月14日、情報技術応用イノベーションフォーラムが長沙で開幕した。湖南省の陳飛副省長が出席し、演説を...
良い習慣があれば、何をするにしてもスムーズに完了できるようになります。昔から、「良い習慣があなたの人...
適切なウェブサイト キーワードを選択することは、ウェブマスターの願いとなっています。現在、多くのウェ...
webhostingbuzzはバレンタインデーのホストプロモーション情報をリリースし、仮想ホストと再...
後で知ったのですが、今夜はとても力強い共有セッションを聞いて、とても価値があったと感じました。これは...