docker安装以后的网络类型

[root@insure updev]# docker network ls
NETWORK ID  NAMEDRIVER  SCOPE
14da40175b01bridge  bridge  local
65fb78c28e4fhosthostlocal
e0d0c90c1462nonenulllocal

说明:桥接网络默认情况下启动的Docker容器,都是使用 bridge,Docker安装时创建的桥接网络,每次Docker容器重启时,会按照顺序获取对应的IP地址,这个就导致重启下,Docker的IP地址就变了,无指定网络使用 –network=none ,docker 容器就不会分配局域网的IP

主机网络使用 –network=host,此时,Docker 容器的网络会附属在主机上,两者是互通的。 例如,在容器中运行一个Web服务,监听8080端口,则主机的8080端口就会自动映射到容器中。

创建自定义网络

首先查看自动分配的IP地址

[root@insure updev]# docker inspect -f=\'{{.Name}} {{.NetworkSettings.IPAddress}} {{.HostConfig.PortBindings}}\' $(docker ps -aq)
/awesome_lamarr 172.17.0.4 map[8091/tcp:[{ 8091}]]
/priceless_leavitt 172.17.0.2 map[]
/clever_davinci 172.17.0.3 map[8080/tcp:[{ 8888}]]

自定义创建自己的网络地址 只能每次创建16个

[root@insure updev]# docker network create --subnet=172.18.0.0/16 mynetwork
cf556844631a91a2a530fc07146cf03de650214ee50469675e232cd2b9e243b5
[root@insure updev]# ifconfig
br-cf556844631a: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 172.18.0.1 netmask 255.255.0.0 broadcast 172.18.255.255
ether 02:42:90:0c:71:1e txqueuelen 0 (Ethernet)
RX packets 29759 bytes 1736558 (1.6 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 29759 bytes 1736558 (1.6 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

说明 172.18.0.1 会被系统占用

创建docker容器启动

[root@insure updev]# docker run -itd -p 8091:8091 --name eurekadev --net mynetwork --ip 172.18.0.2 172.16.120.194:5000/claimeureka:latest /bin/bash
a6665cd3fd2e1cb7fca1215a1e75997276b928440e6b888cda4fe3644e0434df
[root@insure updev]# docker ps -a
CONTAINER IDIMAGECOMMAND  CREATED STATUS  PORTSNAMES
a6665cd3fd2e172.16.120.194:5000/claimeureka:latest   \"java -jar /app.jar …\"   6 seconds ago   Up 5 seconds0.0.0.0:8091->8091/tcp   eurekadev
 [root@insure updev]# docker inspect a6665cd3fd2e | grep IPAddress
  \"SecondaryIPAddresses\": null,
\"IPAddress\": \"\",
\"IPAddress\": \"172.18.0.2\",

说明:通过命令可以看到容器已经成功启动,地址也是我们分配的IP地址

到此这篇关于docker容器启动设置固定IP的实现的文章就介绍到这了,更多相关docker 固定IP内容请搜索主题屋以前的文章或继续浏览下面的相关文章希望大家以后多多支持主题屋!

发表回复

您的电子邮箱地址不会被公开。