目的:
ドッカーネットワーク設定
ドッカーの展開SpringCloud プロジェクト
ドッカーネットワーク設定
ドッカーのネットワークモデルを導入します
ドッカーコンテナを作成しないとき、4つのネットワークモードがあります:ブリッジ/ホスト/コンテナ/なし、ブリッジをデフォルトにする必要はありません--netをコンテナの作成時に他の三つのモードを指定するためには、使用する必要が--netを指定します
-
ブリッジモード(デフォルトモード)
実行ドッキングウィンドウの使用-ネット=橋、このパターンは、それぞれに別々の容器に割り当てられているネットワークの名前空間を、
ホスト上のすべての同一の容器は、それらが互いに通信することができ、同じネットワークになります
注 1 :ブリッジは、デフォルトモードで、パラメータなし--net 使用して、指定する--net パラメータを無効けど
注 2 :ブリッジモードはコンテナを指定することはできませんIP(しかし、絶対的ではありません
-
ホストモード
ドッキングウィンドウの実行を使用-ネット=ホストは、コンテナは仮想ではありませんIP / ポートが、ホストの使用IP とポート
ドッキングウィンドウの実行-itd --net =ホスト961769676411
注 1 :ホストモードはホストと一致しているルールを、ルーティングポートマッピングおよびカスタムを使用することはできません、-p と-icc パラメータが無効です
3.containerのモード(わずかに)
4.noneのモード(わずかに)
5. クロスホスト通信(省略)
4上記のいずれもホスト間で、そのコンテナは、単一のホスト上で実行されていないが、実際の運用環境は、単一で実行することはできません。
我々は確かに通信ホスト間に複数の、どのくらいのコンテナを使用します
1. 使用するネットワークのルーティングメカニズムを開きます
2. 使用開きのvSwitch (OVS )オープンネットワーク
3. 使用して、フランネルネットワークを開きます
4. 使用クアッガ自動的にルートを学習します
注 1 :詳細は、以下を参照してください
外部アクセスドッキングウィンドウのコンテナ
-
ブリッジモード
RUNは、ドッカー-p -itd 7101:7101 ミラーID ## - Pパラメータが複数回現れることができ、ポート番号複数の結合 ドッカーRUNを -p -itd 8080:8080 -p 8088:8088 ミラーID 例: ドッカーRUN迅速化IT - -p mytomcat02 -name 8081:8080 882487b8be1d HTTP:// 192.168.239.130:8081/
-
ホストモード
ドッキングウィンドウの実行-itd --net =ホスト画像ID
例:
ドッキングウィンドウの実行-itd --net =ホスト882487b8be1d
注 1 :追加する必要はありません-p それはのホストで使用されているため、パラメータをIP とポートを追加、-p パラメータを、それが次の警告が表示されます。
警告:ホストネットワークモードを使用するときに公開されたポートが破棄されます
注 2 :ホストの IP ルーティング転送が開いている必要があり、そうでない場合は、コンテナがネットワーク化によって作成することができません!
エコー1>は、/ proc / sys / net / IPv4の/ ip_forward
3. 関連コマンド
#停止し、すべてのコンテナを削除します
ドッキングウィンドウの停止$(ドッカPS -aq)&&ドッキングウィンドウのrm $(ドッカPS -aq)4. ブリッジビューツールブリッジ-utilsの
bridge-のaptインストールのutils brctlショー
コンテナのTomcatでのプルは、ウェブ環境を実行している中で、私たちは、ドッキングウィンドウを持たせ、それが開始するようにポートを設定します
プルTomcatのドッカー:8
ドッカーRUN -DI --name mytomcat01 -p 8081:8080 6408fdc94 -起動し、ポートを設定します
私たちは、ブラウザにアクセスする場合は、IPホストアクセスを通過します。
別のポートを設定するには、複数のTomcatを起動することができ、私は2つのポートを構成するためにここにいます
192.168.239.130:8081
192.168.239.130:8082
成功は、その後、我々はドッカー訪問にネットワーク構成のTomcat、どのようSpringCloudで見てみましょうを終えました。
ドッカー展開SpringCloudプロジェクト
プロジェクトがアクセスできるようにするには
http:// eureka2001.ht.com:2001/
アイデアでspringcloud 戦いへのプロジェクトのjar パッケージ
変更されたマスタモジュールのポンポン
<バージョン> 0.0。1 -snapshot </バージョン>
<! - 1。注変更ポンポン代わりにJARの- >
<! - <包装> JAR </梱包> - > <包装> POM </梱包>
<! - 2.モジュールの主にプラグインを設定しないでください - >
<ビルド> </ビルド>
在各个子module模块的pom.xml文件中添加插件依赖
<build> <plugins> <!--添加maven插件--> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <!--添加自己的启动类路径!根据不同类随机变换--> <mainClass>com.javaxl.microservicestudentproviderhystrix.MicroserviceStudentProviderHystrixApplication</mainClass> </configuration> <executions> <execution> <goals> <!--可以把依赖的包都打包到生成的Jar包中--> <goal>repackage</goal> </goals> </execution> </executions> </plugin> </plugins> </build>
点击idea的view ——》Tool windows ——》maven projects 先双击clean(去掉之前打的包target文件夹)——》再创建install
按照上面的步骤,挨个打包
在本地仓库里就是这样,我们测试就是用这个jar
将项目各子模块target目录下的jar包,复制到指定目录,再打开cmd通过java命令直接运行
java -jar microservice-eureka-server.jar --spring.profiles.active=eureka2001
docker部署springcloud
首先创建一个apps文件夹用来存放jar包
mkdir apps
用命令把打包好的项目jar包上传到apps文件中
使用jre:8镜像启动容器,并挂载指定目录为数据卷
docker run -d \
-it \
--net=host \
--name eureka-server-peer1 \
--mount type=bind,source=/javaxh_docker/apps,target=/javaxh_docker/apps \
117457ead2af
宿主机修改hosts文件
vim /etc/hosts
# 在里面添加要映射的域名即可
127.0.0.1 eureka2001.ht.com
127.0.0.1 eureka2002.ht.com
进入容器,java命令启动微服务
docker exec -it eureka-server-peer1 /bin/sh
java -jar microservice-eureka-server.jar --spring.profiles.active=eureka2001
注1:同理可以启动eureka-server-peer2
注2:docker start $(docker ps -aq)
测试:
http://192.168.239.130:2002/
注意:
如果 浏览器访问不到那就是防火墙没有关
先查看你防火墙关没关
systemctl status firewalld
很明显我的没有关闭的
那么输入以下命令,关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service
谢谢观看!!!