ウェブサイトを立ち上げるために、ベアメタルから完全なサーバーをインストールする必要がないと想像してください。オペレーティング システムをインストールし、サーバー ソフトウェアをインストールして、複雑なアプリケーションやサイトを展開する代わりに、すべてを自己完結型パッケージで開発し、1 つのコマンドでプッシュすることができます。
これはコンテナを使用することで得られる多くの利点の 1 つです。開発と展開のサイクルが驚くほど効率的になります。しかし、これらのコンテナをどのように展開するのでしょうか?ここでそのプロセスをご案内したいと思います。 Ubuntu Server 18.04 上のコンテナーとして基本的な NGINX Web サーバーを展開することに焦点を当てます。これらはすべて Docker の助けを借りて実行されます。 1. 何が必要ですか? NGINX をコンテナとして正常にデプロイするには、次のものが必要です。
はい、この 2 つの部分があれば準備完了です。 2. ヒント デプロイするすべてのコンテナは、DockerHub から取得したイメージに基づいています。 1 つの画像をプルダウンして、いつでも使用できます。 DockerHub には、個々のアプリケーションやプラットフォーム用のイメージも多数あります。 NGINX を例に挙げてみましょう。 DockerHub で NGINX を検索すると、約 56,172 件のエントリが見つかります。これは、すべてのエントリが使用可能な画像であることを意味するものではありません。 画像の名前は次のとおりです。
たとえば、NGINX の場合、次の名前のミラーが見つかる場合があります。
おそらく次のようなものが見つかるでしょう:
ご覧のとおり、必要なもののほとんどすべてに画像があります。 今のところ、1 つのミラーにのみ焦点を当てる必要があります。このイメージは、NGINX の公式リリース バージョンです。 3. イメージをプルする 画像を使用する前に、ローカル ドライブに保存する必要があります。これを行うには 2 つの方法があります。
DockerHub からイメージをプルするには、ターミナル ウィンドウを開いて次のコマンドを発行します。
Ingress イメージをプルする場合、コマンドは次のようになります。
必要なイメージを取得したら、次のコマンドを使用してそのイメージが存在することを確認できます。
上記のコマンドを実行すると、取得したすべてのイメージが一覧表示されます (図 A)。 図 A: NGINX と nginx/nginx はどちらも利用可能なイメージです。 ランダムな画像を取得するときは注意してください。なぜ?なぜなら、それらが作られた理由は決して分からないからです。コンテナには、ネットワークやデータに大混乱を引き起こす可能性のある悪意のあるコードが含まれている可能性があります。したがって、公式イメージ (NGINX イメージなど) のみを使用するのが最適です。 4. コンテナの展開 次にコンテナをデプロイします。まだイメージをプルしていない場合は、デプロイフェーズ中に必要なイメージがプルダウンされます。公式の NGINX イメージを取得するので、それを使用します。 コンテナをデプロイするには、次のように docker コマンドを使用します。
述べる:
したがって、NGINX コンテナをデプロイするための基本コマンドは次のようになります。
コンテナがデプロイされ、NGINX Web サーバーはポート 80 のローカル ネットワーク上で利用できるようになります。しかし、ポート 80 を使用してサーバーにコンテナをデプロイした場合はどうなるでしょうか?次のようにしてネットワーク ポート 8080 にデプロイできます。
この時点で、次の質問が表示される場合があります。上記のコマンドのいずれかを実行すると、bash プロンプトに戻りません (図 B)。 図 B: NGINX を利用したサイトにアクセスすると、コンテナーからフィードバックが提供されますが、プロンプトは表示されません。 5. 分離モード コンテナを実行して bash プロンプトを取得するにはどうすればよいですか?これを行うには、コンテナをデタッチモードで実行する必要があります。その前に、キーボードの組み合わせ [Ctrl] + を使用して現在のコンテナーを終了する必要があります。この組み合わせによりプロンプトが返され、コンテナが強制終了されます。 コンテナが実行中かどうかを確認するには、次のコマンドを使用します。
すべてのコンテナとそのステータスがリストされます (図 C)。 コンテナがまだ実行中の場合は、同じポートに別のコンテナをデプロイする前にコンテナを強制終了する必要があります (そうしないと、ポートの競合が発生し、コンテナをデプロイできなくなります)。実行中のコンテナを強制終了するには、まずコンテナ ID (ランダムな文字列) が必要です。この文字列は、docker ps -a コマンドを発行したときに表示されます。実行中のコンテナを終了するには、次のコマンドを使用します。
ここで、CONTAINER_ID は問題のコンテナの ID です。 次のコマンドでコンテナを削除できます。
ここで、CONTAINER_ID は問題のコンテナの ID です。 コンテナ ID 全体を入力する必要はなく、文字列の最初の 4 文字で十分であることに注意してください。 コンテナをデタッチモードでデプロイするには、次のコマンドを実行します。
今回はプロンプトが返されるだけでなく、Docker によってコンテナ ID も表示されます (図 D)。 図 D: デタッチ モードで実行されている NGINX コンテナ。 6. 実行中のコンテナへのアクセス 実行中のコンテナで作業したい場合はどうすればよいでしょうか? NGINX に変更を加えたり、NGINX で表示される Web サイトの開発を開始したりしたい場合はどうすればよいでしょうか?したがって、コンテナにアクセスする必要があります。したがって、コンテナ ID が必要になります。 ID を使用して、次のコマンドを発行します。
ここで、CONTAINER_ID はコンテナの ID です。 これで、実行中のコンテナ プロンプト (図 E) が表示され、NGINX サーバーの操作を開始できるようになります。 図 E: NGINX コンテナのプロンプト、準備完了。 コンテナを終了するには、exit コマンドを入力するだけです。 7. 思ったより簡単 ここまで読んでいただければ、コンテナの展開は思ったほど難しくないことがお分かりいただけたと思います。 Docker を使用すると、プロフェッショナルなアプリケーションやサービスを数分で起動できます。 |
<<: KubeCon 2019のレビュー: クラウドネイティブの登場
クラウドコンピューティングは分散コンピューティングの一種で、ネットワーク「クラウド」を介して膨大なデ...
Baidu では Weibo に URL が含まれていることが時々検出されますが、Weibo は外部...
今日のウェブマスター、特に私たちの草の根ウェブマスターは、「虎」という言葉を聞くと恐怖を感じます。こ...
VMware は、Mobile World Congress 2022 で一連の製品リリースを開始し...
2019年も終わりに近づく中、UCloudは中国証券監督管理委員会が科技創新板へのIPO申請を承認し...
企業のデータセンターに対する需要の高まりは、クラウド コンピューティングにのみ反映されているわけでは...
50vm は独立サーバーを推進しています。鎮江電信と貴州電信から選択できます。デュアルチャネル L5...
今年8月の人気記事「6年、公会計が運命を変えた」は、春秋文体で公会計の発展に壮大な雰囲気を与えた。実...
MaximumVPS は長い間在庫切れでした。MaximumVPS.net がプロモーション情報をリ...
2018年11月12日の夕方、杭州市拱墅区にある知宇社のオフィスは明るく照らされていた。プロダクトデ...
Spider:Baiduのインデックスが減少する理由と解決策!多くのウェブマスターが Baidu の...
ハイブリッド クラウド セキュリティとは、少なくとも 1 つのパブリック クラウドまたはプライベート...
フォーラムで、サイトがホームページに載っていない場合にどうすればよいかを尋ねる人によく出会います。こ...
オープンソースデータベースの分野に、設立されてまだ5年ちょっとの若い会社があります。主力製品であるT...
今日のデジタル時代において、データは企業の中核資産となり、ビジネスの革新と持続可能な発展を推進してい...