Docker の概念Docker は、Go 言語をベースにしたオープンソースのアプリケーション コンテナ エンジンであり、Apache 2.0 プロトコルに準拠したオープンソースです。 Docker を使用すると、開発者はアプリケーションと依存パッケージを軽量でポータブルなコンテナーにパッケージ化し、一般的な Linux マシンに公開したり、仮想化を実装したりすることができます。コンテナを使用すると、高速かつ便利で、プラットフォームから分離された自動デプロイメントが可能になります。デプロイする環境に関係なく、コンテナ内のアプリケーションは同じ環境で実行されます。そして、互いに分離されたサンドボックス メカニズムを完全に使用します。さらに重要なのは、コンテナのパフォーマンスのオーバーヘッドが非常に低いことです。 軽量仮想化テクノロジーとして、Docker には継続的インテグレーション、バージョン管理、移植性、分離性、セキュリティなどの利点があります。 Dockerはバージョン17.03以降、「CE(コミュニティエディション)」と「EE(エンタープライズエディション)」に分かれています。 「Docker はコンテナ技術であり、主に環境間でのソフトウェア移行の問題を解決するために使用されます。」 DockerをインストールするDockerはMac、Windows、Linux、その他のオペレーティングシステムで実行できます。 Macを例に挙げましょう Homebrewを使用してインストールする
デスクトップインストール端末の使用に加えて、デスクトップ版も使用でき、操作がより便利です 手動でダウンロードする必要がある場合は、次のリンクをクリックして Docker Desktop for Mac をダウンロードしてください。 インストールが成功したか確認する
写真 Nginxサーバーを実行してみる
写真 nginx イメージがローカルに見つからない場合は、リモート リポジトリに移動してそれをプルします。サービスが起動したら、localhost経由でアクセスできるようになります。 写真 ミラー加速使用中にイメージのプルが非常に遅い場合は、Dockerサーバーが海外にあるためですが、Docker国内イメージを構成することで高速化できます。
タスクバーの Docker Desktop アプリケーション アイコンをクリックし、[設定...] をクリックして、左側のナビゲーション メニューで Docker Engine を選択し、右側の json ファイルを次のように編集します。 変更が完了したら、「適用と再起動」ボタンをクリックすると、Docker が再起動し、構成されたイメージ アドレスが適用されます。 設定後、docker info を実行してアクセラレータが有効かどうかを確認できます。 写真 Dockerの3つの要素写真 画像「Docker イメージ」は特殊なファイルシステムです。コンテナ ランタイムに必要なプログラム、ライブラリ、リソース、構成、およびその他のファイルを提供することに加えて、ランタイム用に用意されたいくつかの構成パラメータ (匿名ボリューム、環境変数、ユーザーなど) も含まれています。イメージには動的なデータは含まれておらず、ビルド後にその内容は変更されません。 容器イメージとコンテナの関係は、オブジェクト指向プログラミングにおけるクラスとインスタンスの関係に似ています。イメージは静的な定義であり、コンテナはイメージの実行時のエンティティです。コンテナは作成、開始、停止、削除、一時停止などが可能です。 簡単に言うと、「コンテナはイメージの実行インスタンスです。イメージを実行すると、コンテナが作成されます。」 リポジトリイメージがビルドされると、現在のホスト上で簡単に実行できます。ただし、このイメージを他のサーバーで使用する必要がある場合は、イメージを集中的に保存および配布するサービスが必要になります。 Docker Registry はそのようなサービスです。 ミラーの使用画像をプルするDocker Hub には、高品質のイメージが多数用意されています。 docker pull を使用して、イメージ リポジトリから対応するイメージをプルできます。 形式は次のとおりです。 具体的なオプションは、docker pull --help コマンドで確認できます。ここでは画像名の形式について説明します。
たとえば、ノード イメージをプルします。 写真 ここで、イメージをプルするときに、イメージ名(ウェアハウス名 + ラベル)(node:18-alpine)のみを指定し、Dockerイメージのウェアハウスアドレスを指定しないため、デフォルトのアドレスdocker.ioからイメージがプルされます。 上の図から、docker pull コマンドの出力にはイメージの完全な名前、つまり docker.io/library/node:18-alpine が示されていることがわかります。 ミラーを見るローカルにダウンロードしたイメージを表示したい場合は、docker image lsコマンドを使用します。 写真 リストには、リポジトリ名、タグ、イメージ ID、作成時間、占有スペースが含まれます。 もちろん、Docker デスクトップで直接表示することもできます。 写真 画像の削除ローカルイメージを削除する場合は、docker image rmコマンドを使用します。 形式は次のとおりです。 <image> には、イメージの短い ID、イメージの長い ID、イメージ名、またはイメージの概要を指定できます。 例えば、先ほど取得したノードイメージを削除します
イメージを一括で削除したい場合は、docker image ls -qとdocker image rmを組み合わせて使用します。 たとえば、リポジトリ名が redis であるすべてのイメージを削除する必要があります。 または、mongo:3.2 より前のすべてのイメージを削除します。 詳しい手順はdocker image --helpで確認できます。 コンテナ作戦コンテナを表示実行中のコンテナを表示します。 すべてのコンテナを表示
コンテナを起動するコンテナを起動する状況は一般的に 2 つあります。
作成して開始使用するコマンドはdocker runです
パラメータの説明:
終了したコンテナを起動するまずすべてのコンテナをチェックする
その後、docker startを使用して停止したコンテナを起動できます。 コンテナの再起動
バックグラウンド操作ほとんどの場合、Docker をバックグラウンドで実行する必要があります。ここで、-dを使用してコンテナの実行モードを指定できます。 コンテナを停止するコンテナを停止するコマンドは次のとおりです。 最初にすべてのコンテナを表示 写真 コンテナを再度停止する
写真 コンテナに入る-d パラメータを使用すると、コンテナが起動してバックグラウンドになります。コンテナに入るには、次のコマンドを使用できます。 「exec」(推奨) 写真 「注意:」このコンテナを終了してもコンテナは停止しないため、「docker exec」を使用することをお勧めします。 「添付」(非推奨) 「注意:」このコンテナから出るとコンテナが停止します。 コンテナの削除コンテナを削除するには、docker rm コマンドを使用します。 終了したコンテナをすべて削除する場合は、次のコマンドを使用できます。 試してみる(フロントエンドプロジェクトをデプロイする)まず、vueプロジェクトを準備し、Dockerfileファイルをプロジェクトのルートパスに追加します。 Dockerfileの作成
パッケージ画像
写真 コンテナを起動するイメージがパッケージ化されたら、そのイメージを使ってコンテナを起動することができます。 ここでの -p は、コンテナのポートをホストのポートにマッピングすることを意味します。ここでのホストはローカルマシンです。 先頭の0.0.0.0:9090はホストポートを示します 次の80はコンテナのポートを示します 起動後、http://localhost:9090/ を使って直接アクセスします。 写真 このページが表示されたら、Docker のデプロイが成功したことを意味します。 もちろん、docker psを使用して、この時点で実行中のコンテナを表示することもできます。 写真 |
<<: 5 分間の技術講演 |クラウドコンピュータビデオストリーミングフレームレートネゴシエーションメカニズム
>>: Kafka ソースコード サーバーの起動プロセスの図解
[[390061]]この記事はWeChatの公開アカウント「LoyenWang」から転載したもので、...
昨日(2013年2月19日)BaiduのGreen Radish Algorithmがリリースされ、...
クラウド コンピューティングの開発は現在、新たな段階に達しており、多くの企業がコア エンタープライズ...
litemoe さん、ロサンゼルスのトリプルネットワーク cn2 gia vps ラインの VPS ...
Gandi は .at ドメイン名のプロモーションを開始し、現在は元の価格から 25% 割引を提供し...
今年上半期が終わりに近づく中、中国の化粧品業界ではどんな新たなトレンドが生まれているのでしょうか? ...
クラウド コンピューティングは、デジタル経済の発展を支える重要なインフラストラクチャとなっています。...
プログラミング言語のランキングの推移(写真提供:テンセントテクノロジー)テンセントテクノロジーニュー...
hostgnome (HOSTGNOME LTD 13468575、ASN: AS79、2003年に...
[[324680]]この記事はLeiphone.comから転載したものです。再印刷が必要な場合は、L...
ショッピングリベートが届くまで10日以上かかるオンラインショッピングは安く、リベートを利用すればさら...
ウェブサイトの最適化では、画像が適切に最適化されていれば、ページの読み込み速度が向上し、ウェブサイト...
最近、フォーラムでそのような代替ドメイン名について議論している投稿を偶然見ました。それが Baidu...
ロイター通信によると、アマゾン、マイクロソフト、アルファベット傘下のグーグル、インテルなど米国のテク...
本日より、ミニゲームインセンティブ動画広告が正式に全面公開され、広告主は新バージョンの MP セルフ...