Dockerで仮想マシンを作成する際にIPが割り当てられない問題を解決する方法

PHPz
リリース: 2023-04-17 17:09:14
オリジナル
1394 人が閲覧しました

Docker は、ユーザーが仮想コンテナを簡単に作成および管理できるようにする仮想化テクノロジです。ただし、Docker コンテナーの作成時に、仮想マシンの作成後に IP アドレスを割り当てられないなどの問題が発生する場合があります。この記事では、Docker でこの問題を解決する方法を説明します。

まず、Docker で仮想マシンを作成する手順を見てみましょう。通常、次のコマンドを使用して Docker コンテナを作成する必要があります。

docker run -it centos
ログイン後にコピー

このコマンドは、CentOS オペレーティング システム用の Docker コンテナを作成し、ターミナル モードを開きます。ただし、コンテナーの作成後に、ifconfig ディレクティブを介して割り当てられた IP アドレスが見つからない場合があります。これは、Docker コンテナーにはデフォルトでネットワーク構成が存在しないためです。

この問題を解決するには、いくつかの方法を試すことができます。

1. Docker のブリッジ モードの使用

Docker のブリッジ モードは、コンテナーがホストに接続して IP アドレスを取得するのに役立つネットワーク モードです。 Docker コンテナでブリッジ モードを有効にするには、次のコマンドを使用します。

docker run --network bridge --name container_name centos
ログイン後にコピー

このコマンドは、container_name という名前の Docker コンテナを作成し、ブリッジ モードを有効にします。このモードでは、コンテナは割り当てられた IP アドレスを自動的に取得します。

2. IP アドレスを手動で割り当てる

Docker のブリッジ モードを使用したくない場合は、Docker コンテナに IP アドレスを手動で割り当てることもできます。これを行うには、まずカスタム ネットワークを作成し、次に IP アドレスを Docker コンテナに手動で割り当てる必要があります。手順は次のとおりです。

ステップ 1: カスタム ネットワークを作成する

docker network create custom_network
ログイン後にコピー

このコマンドは、custom_network という名前のカスタム ネットワークを作成します。

ステップ 2: Docker コンテナを起動し、カスタム ネットワークに接続します。

docker run --name container_name --network custom_network centos
ログイン後にコピー

このコマンドは、container_name という名前の Docker コンテナを作成し、カスタム ネットワークcustom_network に接続します。

ステップ 3: IP アドレスを Docker コンテナに手動で割り当てる

次のコマンドを使用して、IP アドレスを Docker コンテナに手動で割り当てます:

docker network connect custom_network container_name --ip 172.18.0.5
ログイン後にコピー

このコマンドは、コンテナへの IP アドレスは 172.18.0.5 です。必要に応じて IP アドレスを変更できます。

概要

Docker コンテナが IP アドレスを割り当てられない問題は、Docker のブリッジ モードを使用するか、手動で IP アドレスを割り当てることで簡単に解決できます。どの方法を選択する場合でも、コンテナーが適切に実行できるように、ネットワーク設定を正しく構成するように注意する必要があります。この記事が Docker ユーザーにとって役立つことを願っています。

以上がDockerで仮想マシンを作成する際にIPが割り当てられない問題を解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート