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 hadoopnetwork
? ~ 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 run -itd --name hadoopM --net hadoopnetwork --ip 172.18.0.11 centos7jdk1.8:v1 /bin/bash
--解決Failed to get D-Bus connection: Operation not permitted
docker run -itd --name hadoopM --privileged=true --net hadoopnetwork --ip 172.18.0.11 centos7jdk1.8:v1 /usr/sbin/init
--進入容器的方式
docker exec -it hadoopM /bin/bash
--不能進入容器因爲沒有/bin/bash
docker attach hadoopM
$ 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 hadoopnetwork
? ~ 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 run -itd --name hadoopM --net hadoopnetwork --ip 172.18.0.11 centos7jdk1.8:v1 /bin/bash
--解決Failed to get D-Bus connection: Operation not permitted
docker run -itd --name hadoopM --privileged=true --net hadoopnetwork --ip 172.18.0.11 centos7jdk1.8:v1 /usr/sbin/init
--進入容器的方式
docker exec -it hadoopM /bin/bash
--不能進入容器因爲沒有/bin/bash
docker attach hadoopM
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.