日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

Docker網絡配置及部署SpringCloud項目詳解_docker

作者:南山?有谷堆 ? 更新時間: 2023-03-15 編程語言

本次目標:

  • Docker網絡配置
  • Docker部署SpringCloud項目

一、Docker網絡配置

Docker在創建容器時有四種網絡模式:

bridge/host/container/none,bridge為默認不需要用--net去指定,其他三種模式需要在創建容器時使用--net去指定,今天所展示的是兩種模式bridge和host(橋接和僅主機模式)

1.bridge模式(默認模式)

docker run時使用--net=bridge,這種模式會為每個容器分配一個獨立的Network Namespace,

同一個宿主機上的所有容器會在同一個網段下,相互之間是可以通信的

所虛擬的服務器都有獨立的ip

?????注1:bridge為默認模式,不需要使用參數--net去指定,使用了--net參數反而無效

?????注2:bridge模式無法指定容器IP(但非絕對,具體操作可參考其他資料)

Docker run -it --name mytomcat01 -p 8081:8080 鏡像ID

查看當前橋接模式的情況:docker inspect bridge?

里面有個c2的網絡地址?

?然后再關閉c2,重新查看橋接模式的情況

?接著我們ifconfig查看當前虛擬ip,里面因為裝了docker引擎,對應上面那個圖docker0和docker1都有獨立的ip

#Docker網絡模式相關命令查看
docker network --help
#列出Docker現有網絡模式
docker network ls
#查看橋接模式下的網絡狀態
docker network inspect bridge

2.host模式

docker run時使用--net=host,容器將不會虛擬出IP/端口,而是使用宿主機的IP和端口

docker run -itd --net=host 961769676411

注1:host模式不能使用端口映射和自定義路由規則,這些都與主機一致,-p 與-icc 參數是無效的

初識網絡模式

#查看網絡模式
ip a
ifconfig
#Docker網絡模式相關命令查看
docker network --help
#列出Docker現有網絡模式
docker network ls
#查看僅主機模式下的網絡狀態
docker network inspect host

然后查看一下網絡狀態

?發現里面沒有ip

我們刪掉那些多余的鏡像:docker rm -f $(docker ps -aq)

?結論僅主機模式是不會分配獨立的ip,只會共享相同的ip,而橋接模式是隨機分配獨立的ip

二、bridge模式

docker run -di --name tomcat1 -p 8080:8080 da505a5bc55a
#--restart=always容器隨著Docker引擎啟動而啟動
docker run -di --name tomcat2 --restart=always -p 8081:8080 da505a5bc55a

通過指令1啟動兩個tomcat 通過宿主機訪問端口8081或8082 訪問到映射到的容器內部的8080端口?

?

?接著我們訪問一下網址:(ip a? ? ? ? 查看ip地址)

?如果還想再來一個直接改一下映射的端口號就行:

?接著我們重新查看一下橋接模式下的網絡狀態

三、host模式?

在一般情況下僅主機模式對我們更方便些,若我們需要部署單體應用,則僅主機是優選

現在我們再創建一個容器,發現容器將不會虛擬出IP/端口,而是使用宿主機的IP和端口

?而在hosto模式中,我們只能進入第一個創建的容器里

網絡模式與數據卷容器掛載的操作

docker run -di -v /javayuyan/software/mydocker:/home/javaxl/docker -p 8083:8080 --name t5 --restart=always da505a5bc55a

掛載后也可以進行訪問tomcat:?

四、如何創建自定義網絡?

為什么需要自定義網絡,因為當使用docker引擎進行部署項目在容器中之后,會被分配隨機IP,當關閉之后再開啟時,所被分配的IP地址極大可能會不一樣。

1.創建自定義網絡

docker network create --subnet=172.18.0.0/16 mynetwork

作用:創建容器的時候可以指定IP地址

2.創建容器

docker run -it --name tomcat8 --net=mynetwork -v /javaxl/software/mydocker/:/home/javaxl/docker --ip 172.18.0.8 da505a5bc55a /bin/bash

改成自己的容器就行

3.查看網絡模式

docker network inspect mynetwork

?當有部署很多微服務需要暫停時,該自定義的ip也不會隨便改變了

總結

原文鏈接:https://blog.csdn.net/weixin_63531940/article/details/128535330

欄目分類
最近更新