欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

docker修改容器網(wǎng)絡(luò)舉例詳解

 更新時間:2025年03月20日 09:06:40   作者:蜜獾互聯(lián)網(wǎng)  
這篇文章主要介紹了docker修改容器網(wǎng)絡(luò)的相關(guān)資料,并詳細(xì)解釋了每種模式的工作原理和使用場景,還提供了如何更改Docker網(wǎng)絡(luò)模式以實現(xiàn)容器直接連接到主機網(wǎng)絡(luò)的解決方案,需要的朋友可以參考下

1.docker網(wǎng)絡(luò)模式分類

docker run創(chuàng)建Docker容器時,可以用--net選項指定容器的網(wǎng)絡(luò)模式,Docker主要有以下4種網(wǎng)絡(luò)模式。

  • bridge模式:--net=bridge 橋接模式(默認(rèn)設(shè)置,自己創(chuàng)建也使用bridge 模式)
  • host模式:--net=host 和宿主即共享網(wǎng)絡(luò)
  • container模式:--net=container:NAME_or_ID 容器網(wǎng)絡(luò)連通!(很少用,局限性很大!)
  • none模式:--net=none 不配置網(wǎng)絡(luò)

2.查詢所有網(wǎng)絡(luò)

命令:docker network ls

[root@iZwz9535z41cmgcpkm7i81Z ~]# docker network ls
NETWORK ID     NAME      DRIVER    SCOPE
8ddb7e9846c6   bridge    bridge    local
48e785b7efb3   host      host      local
7e07c5b5ae34   none      null      local

bridge 網(wǎng)橋模式

Docker安裝啟動后會在宿主主機上創(chuàng)建一個名為 docker0 的虛擬網(wǎng)橋,處于七層網(wǎng)絡(luò)模型的數(shù)據(jù)鏈路層,后續(xù)每當(dāng)我們創(chuàng)建一個新的docker容器,在不指定容器網(wǎng)絡(luò)模式的情況下,docker會通過 docker0 與主機的網(wǎng)絡(luò)連接,docker0 相當(dāng)于網(wǎng)橋。

使用 bridge 模式新創(chuàng)建的容器,容器內(nèi)部都會有一個虛擬網(wǎng)卡,名為 eth0,容器之間可以通過容器內(nèi)部的IP相互通信。

命令:docker run -d -name tomcat01 --net=bridge -p 8085:80 tomcat:latest說明:

  • --net=bridge 可省略 ,-p 指定端口映射
  • 網(wǎng)橋默認(rèn) IP 范圍是一般都是 172.17.x.x

host 模式

如果指定的host模式容器不會擁有一個獨立network namesace,而是與宿主主機共用network namesace。也就說明容器本身不會有的網(wǎng)卡信息,而是使用宿主主機的網(wǎng)絡(luò)信息。容器除了網(wǎng)絡(luò),其他比如文件系統(tǒng)、進(jìn)程等依然都是隔離的。

說明:

  • --net=host 指定
  • 容器和宿主主機共享 Network namespace
  • host模式因為和宿主主機共享network namespace,會有可能出現(xiàn)端口沖突的情況。

container模式

container模式和host模式很類似,host模式和宿主主機共享network namespace;container模式和指定的容器共享,兩者之間除了網(wǎng)絡(luò)共享(網(wǎng)卡、主機名、IP 地址),其他方面還是隔離的。

命令:docker run -d -name tomcat02 --net=container:name/id -p 8000:80 tomcat:latest說明:

  • –-net={容器id 或容器name} 指定
  • 當(dāng)前容器和另外一個容器共享 Network namespace

none模式

如果dockers容器指定的網(wǎng)絡(luò)模式為none,該容器沒有辦法聯(lián)網(wǎng),外界也無法訪問它,可以用來本次測試。

命令:docker run -d -name tomcat02 --net=none -p 8000:80 tomcat:latest說明:

  • --net=none 指定
  • 容器有獨立的Network namespace,但并沒有對其進(jìn)行任何網(wǎng)絡(luò)設(shè)置,如果需要的話,需要自定義配置網(wǎng)絡(luò)

更改網(wǎng)絡(luò)

###解除容器綁定的網(wǎng)絡(luò) 網(wǎng)絡(luò)名詞mynetwork 容器名稱 lnmp
[root@lnmp tp6cms]# docker network disconnect mynetwork lnmp
##刪除原先的網(wǎng)絡(luò)
[root@lnmp tp6cms]# docker network rm mynetwork
##重新創(chuàng)建容器網(wǎng)絡(luò)
[root@lnmp tp6cms]# docker network create --subnet=192.168.222.0/24 mynetwork
7d40e0be1fcade91f8109a54a05bf0f012584e0bbb9449bec5335db247efd0be
##為容器重新指定網(wǎng)絡(luò)
[root@lnmp tp6cms]# docker network connect mynetwork lnmp 
##重新啟動容器
[root@lnmp tp6cms]# docker container restart lnmp

Docker 網(wǎng)絡(luò)橋接模式和 Host 模式的區(qū)別

首先,我們需要了解一下 Docker 的兩種網(wǎng)絡(luò)模式之間的區(qū)別。在橋接網(wǎng)絡(luò)模式下,Docker 將為每個容器創(chuàng)建一個獨立的網(wǎng)絡(luò)命名空間,并為容器分配一個|P 地址。而在 Host 網(wǎng)絡(luò)模式下,容器將直接使用主機的網(wǎng)絡(luò)棧,與主機共享網(wǎng)絡(luò)接口和 IP 地址,這意味著容器可以直接訪問主機上的所有網(wǎng)絡(luò)服務(wù),同時也會導(dǎo)致容器與主機網(wǎng)絡(luò)之間的隔離性降低。

Docker 網(wǎng)絡(luò)橋接改 Host

在使用 Docker 運行容器時,經(jīng)常會涉及到網(wǎng)絡(luò)配置。默認(rèn)情況下,Docker 使用橋接網(wǎng)絡(luò)模式來為容器提供網(wǎng)絡(luò)連接。但有時候,我們可能需要將容器直接連接到主機的網(wǎng)絡(luò),這時就需要將 Docker 網(wǎng)絡(luò)模式改為 Host 模式。在本文中,我們將介紹如何通過改變 Docker 網(wǎng)絡(luò)橋接模式為 Host 模式來實現(xiàn)容器直接連接到主機網(wǎng)絡(luò)的配置。

Docker 容器不能直接修改已創(chuàng)建的網(wǎng)絡(luò)模式為 host。但是,你可以通過以下步驟來實現(xiàn)你的需求:

1. 停止當(dāng)前運行的容器。
2. 刪除原有的容器。
3. 重新創(chuàng)建并指定網(wǎng)絡(luò)模式為 host。

以下是一些可能的解決方案:

解決方案1:使用命令行

# 停止當(dāng)前運行的容器
docker stop <container_id>
 
# 刪除原有的容器
docker rm <container_id>
 
# 重新創(chuàng)建并指定網(wǎng)絡(luò)模式為 host
docker run --net=host --name=<container_name> <image_name>

解決方案2:使用Docker Compose

如果你使用Docker Compose來管理你的容器,你可以在你的docker-compose.yml文件中更改網(wǎng)絡(luò)模式,然后重新創(chuàng)建你的服務(wù)。

version: '3'
services:
  your_service:
    image: your_image
    network_mode: host

然后運行以下命令來重新創(chuàng)建服務(wù):

docker-compose up -d

注意:使用 host 網(wǎng)絡(luò)模式的容器將會使用宿主機的網(wǎng)絡(luò),這意味著容器的網(wǎng)絡(luò)配置和DNS設(shè)置將與宿主機相同。這可能會導(dǎo)致網(wǎng)絡(luò)配置沖突,因此在使用 host 網(wǎng)絡(luò)模式前,請確保這是你想要的行為。

總結(jié)

到此這篇關(guān)于docker修改容器網(wǎng)絡(luò)的文章就介紹到這了,更多相關(guān)docker修改容器網(wǎng)絡(luò)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Dockerfile?ENV語法使用指南

    Dockerfile?ENV語法使用指南

    這篇文章主要為大家介紹了Dockerfile?ENV語法使用指南,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-11-11
  • 詳解使用Docker搭建Java Web運行環(huán)境

    詳解使用Docker搭建Java Web運行環(huán)境

    本篇文章主要介紹了使用Docker搭建Java Web運行環(huán)境,現(xiàn)在分享給大家,也給大家做個參考。感興趣的小伙伴們可以參考一下。
    2016-11-11
  • Docker本地鏡像發(fā)布到阿里云的實現(xiàn)

    Docker本地鏡像發(fā)布到阿里云的實現(xiàn)

    本文主要介紹了Docker本地鏡像發(fā)布到阿里云的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • 使用OpenSSL生成Kubernetes證書的介紹

    使用OpenSSL生成Kubernetes證書的介紹

    今天小編就為大家分享一篇關(guān)于使用OpenSSL生成Kubernetes證書的介紹,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • Docker安裝MySql遇到的問題解決

    Docker安裝MySql遇到的問題解決

    本文主要介紹了Docker安裝MySql遇到的問題解決,詳細(xì)的介紹了查詢中文亂碼問題以及主從同步中遇到的問題,文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-02-02
  • MinIO存儲在docker中安裝及其使用方式

    MinIO存儲在docker中安裝及其使用方式

    這篇文章主要介紹了MinIO存儲在docker中安裝及其使用方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • docker 連接宿主Mysql操作

    docker 連接宿主Mysql操作

    這篇文章主要介紹了docker 連接宿主Mysql操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • Docker教程:使用容器(簡單示例)

    Docker教程:使用容器(簡單示例)

    今天小編就為大家分享一篇關(guān)于Docker教程:使用容器(簡單示例),小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-10-10
  • docker-compose up -d和docker-compose up --build的區(qū)別

    docker-compose up -d和docker-compose up -

    本文主要介紹了docker-compose up -d和docker-compose up --build的區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • idea使用docker插件一鍵部署項目的操作方法

    idea使用docker插件一鍵部署項目的操作方法

    這篇文章主要介紹了idea使用docker插件一鍵部署項目的操作方法,本文通過圖文實例相結(jié)合給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧
    2025-04-04

最新評論