docker設置固定ip地址

Docker安裝後,默認會建立下面三種網絡類型

$ docker network ls
NETWORK ID     NAME        DRIVER       SCOPE
9781b1f585ae bridge bridge local 1252da701e55 host host local 237ea3d5cfbf none null local

啓動 Docker的時候,用 --network 參數,能夠指定網絡類型

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的,以下
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: 建立自定義網絡

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
相關文章
相關標籤/搜索