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 の詳細

推薦する

CSSの優先度を理解する2つの方法

方法1: 値を追加する公式の説明を見るには MDN にアクセスしてください。優先度はどのように計算さ...

Linux の ufw ファイアウォールの紹介

Linux のufw (Uncomplicated Firewall) を見て、ファイアウォールに変...

ViteでReactプロジェクトを構築する方法

目次序文Viteプロジェクトを作成する改修プロジェクトディレクトリの規則その他の構成序文毎日鳩、火ば...

LinuxでのMySQLのインストール手順

1. mysql tar ファイルをダウンロードします。参考: 2. インストールパッケージがあるデ...

CSSコンテンツ属性の具体的な使用法

コンテンツ属性は通常、::before および ::after 疑似要素で使用され、疑似要素のコンテ...

JavaScript は、マウスがテーブル行を通過するときに色の識別を実装します。

この記事では、マウスがテーブルの行を通過するときにJavaScriptを使用して色ラベルを表示する方...

Vueはコンピュータカメラを呼び出して写真機能を実現します

この記事の例では、コンピュータカメラを呼び出して写真機能を実現するためのvueの具体的なコードを参考...

Mysql での結合操作

結合の種類1. 内部結合: 結合関係を持つ 2 つのテーブル内のフィールドは、結合関係を満たすレコー...

Linux オペレーティング システムでよく使用される MySQL コマンドの概要

以下に、一般的な MySQL コマンドをいくつか示します。 -- データベース サービスを開始します...

テーブルレイアウトの長所と短所、そして推奨されない理由

テーブルの欠点1. テーブルは他の HTML タグよりも多くのバイトを占有します。 (ダウンロード時...

mysql 5.7.5 m15 winx64.zip インストール チュートリアル

win7 64 ビットで mysql-5.7.5-m15-winx64 をインストールして構成する方...

Nginx 構成の場所の一致ルールの例の説明

nginx の設定命令のスコープは、main、server、location の 3 種類に分けられ...

ファイル共有サーバーを構築するための samba + OPENldap の詳細な説明

ここでは、samba (ファイル共有サービス) v4.9.1 + OPENldap (バックエンド ...

マークアップ言語 - 画像の置き換え

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