博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
docker容器启动设置固定IP
阅读量:5058 次
发布时间:2019-06-12

本文共 2235 字,大约阅读时间需要 7 分钟。

docker安装以后的网络类型

[root@insure updev]# docker network lsNETWORK ID          NAME                DRIVER              SCOPE14da40175b01        bridge              bridge              local65fb78c28e4f        host                host                locale0d0c90c1462        none                null                local

说明:桥接网络     默认情况下启动的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 mynetworkcf556844631a91a2a530fc07146cf03de650214ee50469675e232cd2b9e243b5

[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/basha6665cd3fd2e1cb7fca1215a1e75997276b928440e6b888cda4fe3644e0434df[root@insure updev]# docker ps -aCONTAINER ID        IMAGE                                    COMMAND                  CREATED             STATUS              PORTS                    NAMESa6665cd3fd2e        172.16.120.194:5000/claimeureka:latest   "java -jar /app.jar …"   6 seconds ago       Up 5 seconds        0.0.0.0:8091->8091/tcp   eurekadev

 [root@insure updev]# docker inspect a6665cd3fd2e | grep IPAddress

  "SecondaryIPAddresses": null,
    "IPAddress": "",
    "IPAddress": "172.18.0.2",

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

 

转载于:https://www.cnblogs.com/mutong1228/p/10334439.html

你可能感兴趣的文章
css3实现循环执行动画,且动画每次都有延迟
查看>>
更改git仓库地址
查看>>
有标号DAG计数 [容斥原理 子集反演 组合数学 fft]
查看>>
Recipe 1.4. Reversing a String by Words or Characters
查看>>
Rule 1: Make Fewer HTTP Requests(Chapter 1 of High performance Web Sites)
查看>>
sql注入
查看>>
「破解」Xposed强
查看>>
Linux 平台下 MySQL 5.5 安装 说明 与 示例
查看>>
src与href的区别
查看>>
ABAP工作区,内表,标题行的定义和区别
查看>>
《xxx重大需求征集系统的》可用性和可修改性战术分析
查看>>
Python 中 创建类方法为什么要加self
查看>>
关于indexOf的使用
查看>>
【转】JS生成 UUID的四种方法
查看>>
英语单词
查看>>
centos6.8下安装matlab2009(图片转帖)
查看>>
Mongo自动备份
查看>>
求助大神!怎样批量删除数据库表中某个字段中同样的一段字符!
查看>>
VMWARE虚拟机无法访问的三种方法分析
查看>>
enq: SQ - contention
查看>>