Docker自定義網路和執行時指定IP
Docker 預設網路
Docker安裝後,預設會建立下面三種網路型別:
1 2 3 4 5 |
$ docker network
ls
NETWORK ID NAME DRIVER SCOPE
9781b1f585ae bridge bridge local
1252da701e55 host host local
237ea3d5cfbf none null local
|
啟動 Docker的時候,用 --network
引數,可以指定網路型別,如:
1 |
~ docker run -itd --name test1 --network bridge --ip 172.17.0.10 centos:latest /bin/bash
|
bridge:橋接網路
預設情況下啟動的Docker容器,都是使用 bridge,Docker安裝時建立的橋接網路,每次Docker容器重啟時,會按照順序獲取對應的IP地址,這個就導致重啟下,Docker的IP地址就變了
none:無指定網路
使用 --network=none
,docker 容器就不會分配區域網的IP
host: 主機網路
使用 --network=host
,此時,Docker 容器的網路會附屬在主機上,兩者是互通的。
例如,在容器中執行一個Web服務,監聽8080埠,則主機的8080埠就會自動對映到容器中。
建立自定義網路:(設定固定IP)
啟動Docker容器的時候,使用預設的網路是不支援指派固定IP的,如下:
1 2 3 |
~ docker run -itd --net bridge --ip 172.17.0.10 centos:latest /bin/bash
6eb1f228cf308d1c60db30093c126acbfd0cb21d76cb448c678bab0f1a7c0df6
docker: Error response from daemon: User specified IP address is supported on user defined networks only. |
因此,需要建立自定義網路,下面是具體的步驟:
步驟1: 建立自定義網路
建立自定義網路,並且指定網段:172.18.0.0/16
1 2 3 4 5 6 7 |
➜ ~ docker network create --subnet=172.18.0.0 /16 mynetwork
➜ ~ docker network ls
NETWORK ID NAME DRIVER SCOPE
9781b1f585ae bridge bridge local
1252da701e55 host host local
4f11ae9c85de mynetwork bridge local
237ea3d5cfbf none null local
|
步驟2: 建立Docker容器
~ docker run -itd --name networkTest1 --net mynetwork --ip 172.18.0.2 centos:latest /bin/bash這個時候,建立的Docker容器就會持有 172.18.0.2 這個IP.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
[[email protected] /] # ifconfig
eth0 Link encap:Ethernet HWaddr 02:42:AC:12:00:02
inet addr:172.18.0.2 Bcast:0.0.0.0 Mask:255.255.0.0
inet6 addr: fe80::42:acff:fe12:2 /64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:88 errors:0 dropped:0 overruns:0 frame:0
TX packets:14 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:4056 (3.9 KiB) TX bytes:1068 (1.0 KiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1 /128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
|
連結
相關推薦
Docker自定義網路和執行時指定IP
Docker 預設網路 Docker安裝後,預設會建立下面三種網路型別: 1 2 3 4 5 $ docker network ls NETWORK ID NAME DRIVER SCOPE 9781b1f585ae
Java自定義註解和執行時靠反射獲取註解
<span style="font-family:SimHei;font-size:18px;color:#663300;"><strong><span class="bh_code_a_Java_keywords">public</span> <span
docker-compose 配置自定義網路和靜態 ip 示例
version: '3.1' services: web: image: haojiliang/nginx-php-fpm-alpine:v1.15.7 container_name: "web_container" ports: - "80:80"
docker自定義網路,固定容器ip地址
前言: 我們知道docker預設使用的是bridge網路模式,但每次重啟容器後ip會變化,但預設網路模式又不支援自定義ip. 那麼怎能讓ip不變呢,這裡我們需要自定義一個birdge網路。 步驟 1.首先檢視一下已有網路 docker network ls
docker設定不同網路和遷移到指定網路
Libnetwork官方示例 我們初步瞭解了libnetwork中各個元件和驅動後,為了能深入的理解libnetwork中的CNM模型和熟悉docker network子命令的使用,我們來通過libnetwork官方github上的示例進行驗證一下,如下圖所示: 在上圖示例中,使用Docker 預設的br
spring boot通過自定義註解和AOP攔截指定的請求
本文主要通過切面類和自定註解的方式,攔截指定的介面(程式碼中已經作了詳細的說明) 目錄 一 準備工作 三 切面類 五 測試結果 一 準備工作 1.1 新增依賴 通過spr
自定義註解之執行時註解(RetentionPolicy.RUNTIME)
前面有提到註解按生命週期來劃分可分為3類: 1、RetentionPolicy.SOURCE:註解只保留在原始檔,當Java檔案編譯成class檔案的時候,註解被遺棄; 2、RetentionPolicy.CLASS:註解被保留到class檔案,但jvm載入class檔案
卷積神經網路特徵圖視覺化(自定義網路和VGG網路)
藉助Keras和Opencv實現的神經網路中間層特徵圖的視覺化功能,方便我們研究CNN這個黑盒子裡到發生了什麼。 自定義網路特徵視覺化 程式碼: # coding: utf-8 from keras.models import Model import c
docker-compose自定義網路,固定容器ip地址
由於預設的bridge橋接網路,重啟容器後會改變ip地址。在一些場景下我們希望固定容器IP地址。 docker-compose是docker的一個編排工具,相對於命令模式建立網路,容器等。使用配置檔案相對來說更方便,可追溯問題。 直接貼上docker-compose.yml檔案 ve
android 自定義網路變化時全域性提醒
前言:今天在鴻洋大神的公眾號中看到一篇文章,叫10分鐘讓你實現在APP中對網路狀態變化進行全域性提醒。這在APP開發中是一個硬性需求,雖然我開發的app並沒有要求,但我覺得這個功能有必要親手實現一下。當然我也借鑑了作者的一些思路 參考文章:https://mp.weixin.qq.com/s
SpringMVC同時使用<mvc:resources … />和裝配自定義轉換器Converter時出現問題的解決方法
一、問題由來 在學習SpringMVC的過程中,對於URL的攔截,使用了RESTful形式,因為使用了RESTful所以,在將Servlet作為Controller中的時候,web.xml中配置攔截的url-pattern就寫成了 / ,如下所示: <servlet> <
關於listview的自定義adapter不執行getview()方法的幾種情況和解決辦法
自定義PersonAdapter 繼承自BaseAdapter; PersonAdapter中getView不執行。 佈局使用lsitView 分析: 遇到此種情況 一、檢視adapter繫結的資料 d
angular應用,一個input上有自定義directive和ng-model,怎麼在directive更新input的value時更新model
https://segmentfault.com/q/1010000000347476 wise.directive('upload', function ($parse) { return { link: function ($scope, iEl
PyTorch(二)——搭建和自定義網路
PyTorch的學習和使用(二) 最近剛好在看一篇與Siamese network有關的論文,在PyTorch中沒有example,caffe中有,剛好使用PyTorch實現。(PS:圖片單獨開啟更清晰) 主要步驟為: 資料預處理 模型搭建 模型訓練 資料
docker容器自定義網路,使容器之間更容易通訊
docker引入網路新特性之後,內建了dns server,dns顧名思義域名解析,通過這個方式給容器指定ip和域名,可以讓容器間訪問使用自定義的ip和域名。 docker 自定義網路給容器指定ip、域名有以下幾種新特性 1.讓容器的網路基於dns的域
HashMap中使用自定義類作為Key時,為何要重寫HashCode和Equals方法
ide string https object 避免 equals方法 args sys 添加 之前一直不是很理解為什麽要重寫HashCode和Equals方法,才只能作為鍵值存儲在HashMap中。通過下文,可以一探究竟。 首先,如果我們直接用以下的Person類
WF4.0以上使用代碼完整自定義動態生成執行工作流Xaml文件
load 控制 brush 類型 rpv 返回 cap 並且 sco 給大家分享一下,如何完全使用代碼自定義的創建生成工作流文件(用代碼創建Xaml文件),並且動態加載運行所生成的工作流。 工作流生成後 在Xaml文件裏的主要節點如下: 輸入輸出參數 <x
freemarker實現自定義指令和自定義函數
數據 dir variables macro 內置 引擎 eem fig turn 自定義指令: 1.指令在前臺實現 <#macro name param1,param2,param3...paramN> </#macro> 2.指令在後臺實
18)django-模板的過濾器和tag,自定義simple_tag和filter
hello 直接 結果 from simple 使用 span 裝飾 san 模板過濾器是在變量被顯示前修改它的值的一個簡單方法。 過濾器使用管道字符 . 模板標簽(template tag) 。標簽(tag)定義比較明確,即: 僅通知模板系統完成某些工作的標簽。 一:d
IntelliJ IDEA如何設置頭註釋,自定義author和date
技術分享 spa 分享圖片 es2017 log tel auth bsp image 下面這張圖,保證你一看就會: 下面這個模板,你拿去改一改就行了。 1 /** 2 * @Author: Gosin 3 * @Date: ${DATE} ${TIME} 4 */