1. 程式人生 > >Docker自定義網路和執行時指定IP

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/16mynetwork ➜ ~ docker networkls 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/64Scope: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/128Scope: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上有定義directiveng-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,為何要重寫HashCodeEquals方法

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_tagfilter

hello 直接 結果 from simple 使用 span 裝飾 san 模板過濾器是在變量被顯示前修改它的值的一個簡單方法。 過濾器使用管道字符 . 模板標簽(template tag) 。標簽(tag)定義比較明確,即: 僅通知模板系統完成某些工作的標簽。 一:d

IntelliJ IDEA如何設置頭註釋,定義authordate

技術分享 spa 分享圖片 es2017 log tel auth bsp image 下面這張圖,保證你一看就會: 下面這個模板,你拿去改一改就行了。 1 /** 2 * @Author: Gosin 3 * @Date: ${DATE} ${TIME} 4 */