Dockerでコンテナを作成するときにコンテナIPを指定する実装例

Dockerでコンテナを作成するときにコンテナIPを指定する実装例

Docker はコンテナを作成するときに、デフォルトでブリッジ ネットワークを使用し、IP アドレスを自身で割り当てるため、自分で指定することはできません。

実際のデプロイではコンテナのIPを指定し、コンテナ自身でIPを割り当てさせないようにする必要があります。特にクラスタを構築する場合は固定IPが必要となります。

独自のブリッジ ネットワーク mynet を作成できます。コンテナーを作成するときに、ネットワークを mynet として指定し、IP を指定します。

ネットワークモードを表示

docker ネットワーク ls 

新しいブリッジネットワークを作成する

docker ネットワーク作成 --driver bridge --subnet=172.18.12.0/16 --gateway=172.18.1.1 mynet

ネットワーク情報を表示する

docker ネットワーク検査 mynet 

コンテナを作成し、コンテナのIPを指定します

docker run -e TZ="Asia/Shanghai" --privileged -itd -h hadoop01.com --name hadoop01 --network=mynet --ip 172.18.12.1 centos /usr/sbin/init

コンテナの実行

docker exec -it hadoop01 /bin/bash 

CentOSの最小インストールにはifconfigコマンドがありませんが、yumでインストールできます。

yum インストール -y ネットツール

SSHサービスをインストールする

yum インストール -y openssh-server

yum インストール -y openssh-clients

systemctl sshd.service を起動します

非ルートユーザーを追加する

ユーザー追加ブロック

パスワードブロック

ローカルクライアント経由でアクセスする(コンテナの作成時にポートを指定するか、独立した IP を構成する)

docker run -e TZ="Asia/Shanghai" -p 6001:22 --privileged -itd -h hadoop01.com --name hadoop01 --network=mynet --ip 172.18.12.1 centos /usr/sbin/init

または

ルート -p 172.18.12.0 マスク 255.255.255.0 10.0.75.2 を追加します

以下もご興味があるかもしれません:
  • Dockerがコンテナを起動するたびに、IPとホストが指定した操作が実行されます。
  • Dockerコンテナはカスタムネットワークセグメントで固定IP/静的IPアドレスを指定します
  • Docker ネットワーク ブリッジ モードでコンテナ IP を指定する方法

<<:  ウェブページの要素の検査とソースコードの表示の違いについて

>>:  HTMLのマーキータグは、シームレスなスクロールマーキー効果を実現します。

推薦する

HTML テーブルタグチュートリアル (21): 行の境界線の色属性 BORDERCOLOR

テーブルを美しくするために、行ごとに異なる境界線の色を設定できます。基本的な構文<TR 境界線...

CentOS で RPM を使用して MySQL 5.6 をインストールするチュートリアル

これまでのプロジェクトはすべて Windows システム環境にデプロイされていました。今回は Lin...

Ubuntu 18.04 に Anaconda3 をインストールするための詳細なチュートリアル

Anaconda は、conda、Python、およびそれらの依存関係など、180 を超える科学パッ...

5分でWebRTCビデオチャットを構築する

前回の記事では、Ubuntu 上の webrtc ベースの多人数ビデオチャット サービスの詳細なコー...

WeChatミニプログラムはuni-appを通じて世界中に共有されます

実際の使用では、ミニプログラムを友人や友人サークルと共有する必要があることが多く、通常は一度に 1 ...

MySQL データベースでよく使用される SQL ステートメントの詳細と概要

この記事では、MySQL データベースでよく使用される SQL ステートメントを例を使用して説明しま...

HTML/XHTML における img 画像タグの基本的な使用法の詳細な説明

画像タグは、Web ページに画像を表示するために使用されます。 HTML/XHTML 画像 <...

CentOS 6-7 PHPのyumインストール方法(推奨)

1. 現在インストールされているPHPパッケージを確認するyum list installed |...

Node.js での SerialPort モジュールの使用

目次目的モジュールのインストール基本的な使い方ポートをスキャンする開いているポートデータの送信データ...

HTML+JS に基づくシンプルな年齢計算ツールの実装

目次序文デモンストレーション効果HTMLコードCSSコードJavascriptコードデモアドレス序文...

Ubuntu Dockerのインストールと使い方

目次1. 公式インストールスクリプトを使用した自動インストール手動インストール古いバージョンをアンイ...

Vueは、センシティブな単語フィルタリングコンポーネントを検出するためのさまざまなアイデアを実装しています。

目次前面に書かれた要件分析 v1アイデア1: インターセプションメソッドを使用して入力ボックスの入力...

Vue2.x における双方向バインディングの原理と実装

目次1. 実施プロセス2. オブザーバーを表示する3. ウォッチャーを実装する4. コンパイルを実装...

シームレスなカルーセル効果を実現するネイティブ js

参考までに、ネイティブjsでカルーセル効果(シームレススクロール)を実現しています。具体的な内容は以...