Dockerコンテナ接続実装手順の分析

Dockerコンテナ接続実装手順の分析

一般的に言えば、コンテナが起動した後、ポート マッピングを通じてコン​​テナが提供するサービスを使用します。実際、ポート マッピングはコンテナ サービスを使用するための 1 つの方法にすぎません。この方法に加えて、コンテナ接続を使用してコンテナ サービスを利用することもできます。

たとえば、2 つのコンテナがあり、1 つのコンテナで SpringBoot プロジェクトを実行し、もう 1 つのコンテナで MySQL データベースを実行するとします。SpringBoot は、ポート マッピングを介して MySQL サービスにアクセスすることなく、コンテナ接続を介して MySQL データベースに直接アクセスできます。

話を単純にするために、もう一つ例を挙げてみましょう。

コンテナは 2 つあり、1 つは nginx コンテナ、もう 1 つは ubuntu です。nginx コンテナを起動しますが、ポート マッピングを割り当てず、ubuntu を起動し、コンテナ経由で接続し、ubuntu で nginx にアクセスします。

具体的な手順は次のとおりです。

まず、nginx コンテナを起動しますが、ポートは割り当てません。コマンドは次のとおりです。

docker run -d --name nginx1 nginx

コマンド実行結果は次のとおりです。


コンテナが正常に起動すると、ホスト マシンではアクセスできなくなります。

Ubuntuを起動する

次に、Ubuntu を起動し、次のように nginx との接続を確立します。

docker run -dit --name ubuntu --link nginx1:mylink ubuntu bash

ここで、--link は接続を確立するために使用されます。nginx1 は接続を確立するコンテナであり、次の mylink は接続のエイリアスです。

操作が成功したら、ubuntu コマンドラインを入力します。

docker exec -it ubuntu bash

次に、nginx 情報を表示する方法は 2 つあります。

最初

環境変数情報を表示するには、Ubuntu コンソールで env を直接入力します。


Docker が nginx 用の一連の環境変数を作成していることがわかります。各変数の先頭には MYLINK が付きます。これは、接続に指定したエイリアスです。開発者はこれらの環境変数を使用して、アプリケーションが nginx に接続するように構成できます。接続は安全かつプライベートです。 アクセス結果は次のとおりです。

2番目

別の方法としては、次のように Ubuntu の hosts ファイルを表示する方法があります。


ご覧のとおり、Ubuntu の hosts ファイルでは nginx1 にいくつかのエイリアスが与えられています。これらのエイリアスを使用して nginx1 に直接アクセスできます。

ヒント:

デフォルトでは、curl コマンドは Ubuntu コンテナにインストールされていません。手動でインストールする必要があります。インストール コマンドは次のとおりです。

apt-getアップデート
apt-get をインストール curl

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Dockerコンテナ同士を接続する3つの方法の詳しい説明
  • Docker コンテナに接続するための Docker SSH サンプル コード
  • Docker接続Spring BootとMySQLコンテナ方式の紹介
  • docker の詳細な説明: ホストが docker コンテナに ssh 接続できるようにする
  • Docker はリンクを使用してコンテナ間の接続を確立する方法を教えてください。
  • Docker マルチコンテナ接続 (Tomcat+MySQL を例に)
  • Docker経由でMysqlコンテナ+Tomcatコンテナ接続環境を構築する詳細説明
  • DockerでMySQLコンテナを作成し、コマンドラインからコンテナに接続する方法の詳細な説明
  • Dockerはコンテナ間の接続を確立するためにLinkを使用する

<<:  サブクエリ最適化における MySQL 選択の実装

>>:  レンダリング関数と JSX の詳細

推薦する

JavaScript フレームワーク デザイン パターンの詳細な説明

目次動画最優秀選手ムヴヴムVueのソーススパ mpa要素を作成するクラス要約する動画 Model(模...

ウェブサイトのAboutページの紹介コンテンツの書き方

公式、電子商取引、ソーシャル ネットワーキング、個人のいずれの Web サイトでも、訪問者に貴重な時...

マークアップ言語 - Web アプリケーション CSS スタイル

123WORDPRESS.COM HTML チュートリアル セクションに戻るには、ここをクリックして...

Docker で LNMP 環境を素早く構築する方法 (最新)

序文ヒント: ここで、この記事に記録するおおよその内容を追加できます。例えば、人工知能の継続的な発展...

vue+django でファイルをダウンロードする例

目次1. 概要2. Django プロジェクト3. Vueプロジェクト1. 概要プロジェクトで、ダウ...

なぜ Tomcat が起動できないのでしょうか?

目次現象:ポートの使用:ファイルにスペルミスがあります:現象: Tomcat がインストールされ、W...

CSS テキスト強調を使用してテキストを強調するための実装コード

1. はじめにこれまで、テキストの特定の部分を強調したい場合、通常は太字にしたり明るい色を使用したり...

MySQLバイナリログを介してデータベースデータを復元する方法の詳細な説明

ウェブサイト管理者は、さまざまな理由や操作により、ウェブサイトのデータを誤って削除したり、ウェブサイ...

不規則な投影を実現するためのボックスシャドウとドロップシャドウのサンプルコード

border-radius で生成できる四角形やその他の図形に影を追加する場合 (「Adaptive...

win10でのmysql5.7.21解凍バージョンのインストールチュートリアル

次のように、Win10でMysqlの解凍バージョンをインストールします。環境: win10 64ビッ...

LinuxサーバのSSHクラッキング防止方法(推奨)

1. Linuxサーバーは、/etc/hosts.denyを設定して、相手のIPがSSH経由でサー...

win10 で mysql8.0.23 をインストールし、「サービスが制御機能に応答しません」という問題を解決する方法

Windows10にmysqlをインストールする1. 公式サイトからMySQLをダウンロードするウェ...

Win7 64 ビット版に MySQL 5.7 をダウンロードしてインストールする際によくある問題の概要

1. 公式ウェブサイトからMySQLをダウンロードします。 これが私たちが探しているものです、win...

CSSを使用してアダプティブスクエアを実装する方法の例

伝統的な方法は、正方形を固定形式で書くことです。長さ=幅を直接書き、次のように固定値を書きます。 。...

この記事では、Vue 3.0 レスポンシブの使い方を説明します。

目次ユースケースリアクティブAPI関連プロセス反応的なcreateReactiveObjectはレス...