DockerでIPを指定する方法
クラウド コンピューティングとコンテナ化テクノロジの人気に伴い、Docker は人気のあるコンテナ化ソリューションになりました。 Docker コンテナはデフォルトでホスト マシンの IP アドレスを使用するため、場合によっては Docker コンテナに特定の IP アドレスを指定する必要があります。この記事では、DockerコンテナでIPアドレスを指定する方法について説明します。
Docker コンテナの IP アドレス割り当て
Docker では、コンテナの IP アドレスは Docker デーモンによって動的に割り当てられます。デフォルトでは、ホストの IP アドレスが使用されます。この場合、すべての Docker コンテナはホストの IP アドレスを通じて通信できます。
ほとんどのアプリケーションではこのデフォルト設定で十分ですが、場合によっては、Docker コンテナーに静的 IP アドレスを指定する必要がある場合があります。
Docker コンテナの IP アドレスを指定する
Docker コンテナの静的 IP アドレスを指定するには 2 つの方法があります。 VLAN または macvlan ネットワーク プロファイルを介して Docker コンテナをホストの物理ネットワークに接続し、静的 IP アドレスを使用するように構成できます。さらに、ブリッジ ネットワーク モードを使用してコンテナー用に独自のネットワークをセットアップし、静的 IP アドレスを使用するように構成することもできます。
方法 1: VLAN または macvlan ネットワークを使用する
VLAN と macvlan ネットワークは、それぞれ仮想 LAN と物理 LAN の概念です。これにより、Docker コンテナをホストの物理ネットワークに接続し、静的 IP アドレスを割り当てることができます。このアプローチの主な利点は、Docker コンテナーとホスト マシンが同じネットワークを共有するため、コンテナーが外部デバイスと直接通信できることです。
VLAN または macvlan ネットワークを使用する手順は次のとおりです。
- VLAN または macvlan ネットワークを作成する
Docker コンテナを物理ネットワークを使用する場合は、まず VLAN または macvlan ネットワークを作成する必要があります。次のコマンドを使用して VLAN ネットワークを作成できます。
docker network create -d macvlan --subnet=192.168.1.0/24 --gateway=192.168.1.1 -o parent=eth0 mynetwork
このコマンドは、192.168.1.0/24 サブネットと 192.168.1.1 ゲートウェイを使用する mynetwork という名前の VLAN ネットワークを作成します。さらに、親ネットワーク インターフェイスが eth0 であることを指定します。この例では、eth0 はホスト マシン上のネットワーク インターフェイスです。
- Docker コンテナを作成し、VLAN または macvlan ネットワークに接続します
次に、VLAN または macvlan ネットワークに Docker コンテナを作成する必要があります。次のコマンドを使用して、Docker コンテナを作成し、mynetwork ネットワークに接続します。
docker run -itd --name mycontainer --network mynetwork --ip 192.168.1.10 busybox
このコマンドは、mycontainer という名前の Docker コンテナを作成し、mynetwork ネットワークに接続します。さらに、静的 IP アドレス 192.168.1.10 をコンテナに割り当てます。
これで、ホストの IP アドレスを使用せずに mycontainer コンテナと通信できるようになりました。さらに、他のデバイスは静的 IP アドレス 192.168.1.10 を介してこのコンテナにアクセスできます。
方法 2: ブリッジ ネットワークを使用する
ブリッジ ネットワークは、Docker で一般的に使用されるネットワーク モードの 1 つです。これにより、Docker コンテナー用の新しいネットワークを作成し、静的 IP アドレスを使用するように構成できます。このアプローチを使用すると、Docker コンテナーは完全に分離され、ホストや他のコンテナーとネットワークを共有できなくなります。
ブリッジ ネットワークを使用する手順は次のとおりです。
- ブリッジ ネットワークの作成
Docker コンテナー用の新しいネットワークを作成するには、次を使用します。次のコマンド:
docker network create --subnet=172.18.0.0/16 mybridge
このコマンドは、mybridge という名前のブリッジ ネットワークを作成し、そのサブネットを 172.18.0.0/16 として指定します。
- Docker コンテナで動作する Web アプリケーションを実行する
次に、動作する Web アプリケーションを Docker コンテナで実行する必要があります。次のコマンドを使用して、nginx Web サーバー コンテナを起動します。
docker run -itd --name mynginx --network mybridge nginx
このコマンドは、mybridge ネットワークで mynginx という名前の Nginx コンテナを起動します。
- Docker コンテナーの静的 IP アドレスを指定する
次に、mynginx コンテナーの静的 IP アドレスを指定する必要があります。次のコマンドを使用して、コンテナに静的 IP アドレスを割り当てます。
docker network connect --ip 172.18.0.2 mybridge mynginx
このコマンドは、mynginx コンテナに IP アドレス 172.18.0.2 を割り当てます。これで、他のパブリック IP アドレスと同様に、この IP アドレスを使用してアクセスできるようになります。
概要
Docker コンテナの IP アドレスは、Docker デーモンによって動的に割り当てられます。デフォルトでは、ホストの IP アドレスが使用されます。ただし、場合によっては、Docker コンテナーに静的 IP アドレスを指定する必要がある場合があります。 2 つの異なる方法について説明しました。VLAN または macvlan ネットワークを使用して Docker コンテナをホストの物理ネットワークに接続し、静的 IP アドレスに設定するか、ブリッジ ネットワーク モードを使用してコンテナ用に独自のネットワークをセットアップし、構成することができます。静的 IP アドレスを使用します。ニーズに合った方法を選択して、特定の IP アドレスを Docker コンテナーに割り当てることができるようになりました。
以上がDockerでIPを指定する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









Dockerは、DevOpsエンジニアにとって必須のスキルです。 1.Dockerは、アプリケーションとその依存関係をコンテナにパッケージ化することにより、分離と移植性を実現するオープンソースのコンテナ化されたプラットフォームです。 2. Dockerは、名前空間、コントロールグループ、フェデレーションファイルシステムで動作します。 3。基本的な使用には、コンテナの作成、実行、管理が含まれます。 4.高度な使用法には、DockerComposeを使用してマルチコンテナーアプリケーションを管理することが含まれます。 5.一般的なエラーには、コンテナ障害、ポートマッピングの問題、データの持続性の問題が含まれます。デバッグスキルには、ログの表示、コンテナの入り、および詳細情報の表示が含まれます。 6.パフォーマンスの最適化とベストプラクティスには、画像の最適化、リソースの制約、ネットワーク最適化、DockerFileを使用するためのベストプラクティスが含まれます。

Dockervolumeは、コンテナを再起動、削除、または移行すると、データが安全であることが保証されます。 1。ボリュームの作成:Dockervolumecreatemydata。 2。コンテナとマウントボリュームを実行します:Dockerrun-It-Vmydata:/app/dataubuntubash。 3.高度な使用には、データ共有とバックアップが含まれます。

Dockerセキュリティの強化方法は次のとおりです。1。-cap-dropパラメーターを使用してLinux機能を制限します。2。読み取り専用コンテナを作成します。これらの戦略は、脆弱性の露出を減らし、攻撃者の機能を制限することにより、コンテナを保護します。

LinuxでDockerを使用すると、開発と展開の効率が向上する可能性があります。 1。Dockerのインストール:スクリプトを使用して、ubuntuにDockerをインストールします。 2.インストールの確認:sudodockerrunhello-worldを実行します。 3。基本的な使用法:NginxコンテナDockerrun-Namemy-Nginx-P8080を作成します:80-Dnginx。 4。高度な使用法:カスタム画像を作成し、DockerFileを使用してビルドして実行します。 5。最適化とベストプラクティス:マルチステージビルドとドッケルコンポスを使用して、DockerFilesを作成するためのベストプラクティスに従ってください。

Dockerは、ブリッジネットワーク、ホストネットワーク、オーバーレイネットワークの3つのメインネットワークモードを提供します。 1.ブリッジネットワークは、単一のホストでのコンテナー間通信に適しており、仮想ブリッジを介して実装されています。 2。ホストネットワークは、高性能ネットワークが必要なシナリオに適しており、コンテナはホストのネットワークスタックを直接使用します。 3.オーバーレイネットワークは、マルチホストDockerswarmクラスターに適しており、仮想ネットワークレイヤーを介してクロスホスト通信が実現されます。

Docker画像を作成する手順:ビルド命令を含むDockerFileを書きます。 Docker Buildコマンドを使用して、ターミナルで画像を作成します。画像にタグを付け、Dockerタグコマンドを使用して名前とタグを割り当てます。

Docker画像を更新する手順は次のとおりです。最新の画像タグ新しい画像をプルする新しい画像は、特定のタグのために古い画像を削除します(オプション)コンテナを再起動します(必要に応じて)

DockerSwarmは、スケーラブルで非常に利用可能なコンテナクラスターを構築するために使用できます。 1)dockerswarminitを使用して群れクラスターを初期化します。 2)swarmクラスターに参加して、dockerswarmjoinを使用します。 3)DockerServiceCreate-Namemy-Nginxを使用してサービスを作成します - Replicas3nginx。 4)dockerstackdeploy-cdocker-compose.ymlmyAppを使用して複雑なサービスを展開します。
