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

學(xué)無先后,達者為師

網(wǎng)站首頁 編程語言 正文

Docker網(wǎng)絡(luò)配置及部署SpringCloud項目詳解_docker

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

本次目標:

  • Docker網(wǎng)絡(luò)配置
  • Docker部署SpringCloud項目

一、Docker網(wǎng)絡(luò)配置

Docker在創(chuàng)建容器時有四種網(wǎng)絡(luò)模式:

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

1.bridge模式(默認模式)

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

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

所虛擬的服務(wù)器都有獨立的ip

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

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

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

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

里面有個c2的網(wǎng)絡(luò)地址?

?然后再關(guān)閉c2,重新查看橋接模式的情況

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

#Docker網(wǎng)絡(luò)模式相關(guān)命令查看
docker network --help
#列出Docker現(xiàn)有網(wǎng)絡(luò)模式
docker network ls
#查看橋接模式下的網(wǎng)絡(luò)狀態(tài)
docker network inspect bridge

2.host模式

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

docker run -itd --net=host 961769676411

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

初識網(wǎng)絡(luò)模式

#查看網(wǎng)絡(luò)模式
ip a
ifconfig
#Docker網(wǎng)絡(luò)模式相關(guān)命令查看
docker network --help
#列出Docker現(xiàn)有網(wǎng)絡(luò)模式
docker network ls
#查看僅主機模式下的網(wǎng)絡(luò)狀態(tài)
docker network inspect host

然后查看一下網(wǎng)絡(luò)狀態(tài)

?發(fā)現(xiàn)里面沒有ip

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

?結(jié)論僅主機模式是不會分配獨立的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 訪問到映射到的容器內(nèi)部的8080端口?

?

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

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

?接著我們重新查看一下橋接模式下的網(wǎng)絡(luò)狀態(tài)

三、host模式?

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

現(xiàn)在我們再創(chuàng)建一個容器,發(fā)現(xiàn)容器將不會虛擬出IP/端口,而是使用宿主機的IP和端口

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

網(wǎng)絡(luò)模式與數(shù)據(jù)卷容器掛載的操作

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

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

四、如何創(chuàng)建自定義網(wǎng)絡(luò)?

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

1.創(chuàng)建自定義網(wǎng)絡(luò)

docker network create --subnet=172.18.0.0/16 mynetwork

作用:創(chuàng)建容器的時候可以指定IP地址

2.創(chuàng)建容器

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

改成自己的容器就行

3.查看網(wǎng)絡(luò)模式

docker network inspect mynetwork

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

總結(jié)

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

欄目分類
最近更新