Docker为网络bridge模式指定容器ip的方法_docker

前言

众所周知bridge模式是Docker默认的网络设置,此模式会为每一个容器分配Network Namespace、设置IP等,并将一个主机上的Docker容器连接到一个虚拟网桥上。下面来看看Docker为网络bridge模式指定容器ip的方法。

实现方法

如果只是简单创建一个bridge模式的网络是无法给容器指定ip的

[root@vultrvpn conf.d]# docker network create --driver bridge wordpress_net
ad1ff3d972e8bfe6d992a8403a98f46784aa75d5514adbf35ee6ae4528513be7
[root@vultrvpn conf.d]# docker network ls
NETWORK ID   NAME    DRIVER    SCOPE
38fab5c74b87  bridge    bridge    local
f0cf94dd0c5e  host    host    local
465a31c55aa1  none    null    local
ad1ff3d972e8  wordpress_net  bridge    local 

已创建一个wordpress_net的网络,在这个网络模块上创建一个容器,并指定ip

[root@vultrvpn conf.d]# docker run -d --name db_mysql -m 220m --memory-swap 220m -v /data/docker_project/db_mysql/data:/var/lib/mysql -v /data/docker_project/db_mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=qwe123 --network=wordpress_net --ip=172.18.0.2 mysql:5.7
da497e56bd4b0f3434dd4f81534096574d167354dc508b657ceb390ba8e63771
docker: Error response from daemon: User specified IP address is supported only when connecting to networks with user configured subnets.

提示了一个错误,若要配置ip,则需要给这个网络指定一个subnet。所以重新搞一个网络。

docker network create --driver bridge --subnet 172.25.0.0/16 wordpress_net

[root@vultrvpn conf.d]# docker network inspect wordpress_net
[
 {
  "Name": "wordpress_net",
  "Id": "925e64493df9b674ef9bdadaae380c8a335aa6353e48b447cb5d910df19c3a3e",
  "Scope": "local",
  "Driver": "bridge",
  "EnableIPv6": false,
  "IPAM": {
   "Driver": "default",
   "Options": {},
   "Config": [
    {
     "Subnet": "172.25.0.0/16"
    }
   ]
  },
  "Internal": false,
  "Containers": {},
  "Options": {},
  "Labels": {}
 }
]

在给容器指定一个ip

[root@vultrvpn conf.d]# docker run -d --name my_vpn -m 100m --memory-swap 100m -e WORDPRESS_DB_HOST=172.25.0.2 -e WORDPRESS_DB_USER=root -e WORDPRESS_DB_PASSWORD=qwe123 -e WORDPRESS_DB_NAME=myvpn -p 8001:80 --network=wordpress_net wordpress:4.6
096518d84419476f71647a8c70c91c3f336ef8772af50672b88a9c1fd7b3a719
[root@vultrvpn conf.d]# docker ps -a
CONTAINER ID  IMAGE     COMMAND     CREATED    STATUS      PORTS     NAMES
096518d84419  wordpress:4.6   "/entrypoint.sh apach" 47 seconds ago  Up 47 seconds    0.0.0.0:8001->80/tcp my_vpn
6d23ed99db20  wordpress:4.6   "/entrypoint.sh apach" About a minute ago Up About a minute   0.0.0.0:8000->80/tcp my_wordpress
ade42edf5a93  mysql:5.7    "docker-entrypoint.sh" 3 minutes ago  Up 3 minutes    3306/tcp    db_mysql

正常创建

查看网卡信息

[root@vultrvpn conf.d]# docker network inspect wordpress_net
[
 {
  "Name": "wordpress_net",
  "Id": "925e64493df9b674ef9bdadaae380c8a335aa6353e48b447cb5d910df19c3a3e",
  "Scope": "local",
  "Driver": "bridge",
  "EnableIPv6": false,
  "IPAM": {
   "Driver": "default",
   "Options": {},
   "Config": [
    {
     "Subnet": "172.25.0.0/16"
    }
   ]
  },
  "Internal": false,
  "Containers": {
   "096518d84419476f71647a8c70c91c3f336ef8772af50672b88a9c1fd7b3a719": {
    "Name": "my_vpn",
    "EndpointID": "e44636c2b3a49d4aedaad68cd6ca17aea3a9fe4f71afecb27219a6412701536a",
    "MacAddress": "02:42:ac:19:00:04",
    "IPv4Address": "172.25.0.4/16",
    "IPv6Address": ""
   },
   "6d23ed99db20f17d99dd5dcf6cc65f5ced8cb936917dee044914cf278179150c": {
    "Name": "my_wordpress",
    "EndpointID": "3c765d5953428c1d66be584eb0d34b58f6eee3f598e3a37263d54d77e2b87263",
    "MacAddress": "02:42:ac:19:00:03",
    "IPv4Address": "172.25.0.3/16",
    "IPv6Address": ""
   },
   "ade42edf5a934b02f7bb741bd5a45a282a50d3a49e9f1866579e8f93fef22a0e": {
    "Name": "db_mysql",
    "EndpointID": "2322bfb9da72b3b6db68d59cea97172e66b960ca5b782bd2fa7d09f9c93f0288",
    "MacAddress": "02:42:ac:19:00:02",
    "IPv4Address": "172.25.0.2/16",
    "IPv6Address": ""
   }
  },
  "Options": {},
  "Labels": {}
 }
]

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家能有所帮助,如果有疑问大家可以留言交流。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索ip
, docker
, bridge
指定容器ip
docker 指定容器ip、docker容器如何指定ip、为docker容器指定ip、docker容器指定外网ip、docker bridge ip,以便于您获取更多的相关知识。

时间: 2024-08-21 11:18:08

Docker为网络bridge模式指定容器ip的方法_docker的相关文章

docker测试时候命令无法补全的解决方法_docker

发现问题 在输入docker swarm 然后tab键不能像这样进行提示 和补全 tab 键也无法补全nginx容器名,下面是运行截图 解决方法: yum install -y bash-completion 退出 后重进就正常了 总结 以上就是这篇文章的全部内容了,希望本文的内容对同样遇到这个问题的朋友们能有所帮助,如果有疑问大家可以留言交流. 以上是小编为您精心准备的的内容,在的博客.问答.公众号.人物.课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索命令 , docker ,

Docker 配置固定IP及桥接的实现方法_docker

docker默认使用bridge模式,通过网桥连接到宿主机,而容器内部的ip则从网桥所在的ip段取未用的ip.这样做一个不方便的地方在于容器内部的ip不是固定的,想要连接容器时只能通过映射到宿主机的端口,因而有很多项目使用overlay来为docker提供网络的配置,比如Pipework.Flannel.Kubernetes.Weave.opencontrail等. 想要使用overlay来为docker配置网络,需要首先了解下docker的网络模式: 一.Docker的四种网络模式 Docke

ubuntu指定静态IP

默认情况下ubuntu是用dhcp来获取IP的,对于但用户来说比较方便,免去了配置网络的步骤,但是如果是对于多用户的局域网来说就比较不利,因为dhcp偶尔会更换IP,从而是想要连接的用户必须更改IP配置. 指定静态IP的方法如下: 1.编辑/etc/network/interfaces,内容如下 auto eth0 iface eth0 inet static address 192.168.1.100 #静态ip gateway 192.168.1.1 #网关 netmask 255.255.

在 Docker 中运行 MySQL:多主机网络下 Docker Swarm 模式的容器管理

本文将以多主机网络环境为基础,探讨如何利用内置编排工具 Docker Swarm 模式对各主机上的容器加以管理. Docker Engine – Swarm 模式 在多台主机之上运行 MySQL 容器拥有一定程度的复杂性,而具体水平则取决于您所选择的集群技术. 在尝试利用容器加多主机网络运行 MySQL 之前,我们首先需要理解镜像的起效原理.各资源的分配方式(包括磁盘.内存与 CPU).网络(覆盖网络驱动因素,默认情况下包括 flannel 与 weave 等)以及容错机制(容器如何实现重新定位

windows-vmware bridge模式的网络方式,如何通过宿主机修改ip.

问题描述 vmware bridge模式的网络方式,如何通过宿主机修改ip. vmware bridge模式的网络方式,如何通过宿主机修改ip. 宿主机是windows系统 通过bridge模式的网络 里面安装linux系统 如何在windows系统中设定linux的固定ip,而不是通过dhcp分配. 解决方案 打开 VMware-->编辑-->虚拟网络编辑器 ,在这里可以对虚拟网卡进行相应修改. 看看桥接模式和NAT或仅主机模式的选项,对比一下就知道什么是可以设置,什么无法设置了. 根据你的

linux中Docker指定网桥和指定网桥IP详解

$ docker network ls NETWORK ID          NAME                DRIVER 7fca4eb8c647        bridge              bridge 9f904ee27bf5        none                null cf03ee007fb4        host                host Bridge 默认bridge网络,我们可以使用docker network inspect

如何获取、截取、修改指定进程中网络传送的MAC,IP等信息呢?

问题描述 如何获取.截取.修改指定进程中网络传送的MAC,IP等信息呢?用什么API?函数?方法? 解决方案 解决方案二:你这个要求不是arp攻击吗?攻击代码没有.检测的工具到是有http://www.lob.cn/jq/skill/578.shtml解决方案三:想一夜暴富的小年轻,请到蓝翔技校计算机报名啊.他们据说都能检测到美国白宫的各种机器的MAC呢.解决方案四:我们只能为了从事"行业软件开发"的正规程序员的交流做努力.如果存在一种病毒思维,那么绝不会把他那到正规论坛讨论的,这只能

Docker DevOps答疑:关于数据容器和网络

本文讲的是Docker DevOps答疑:关于数据容器和网络[编者的话]本文是Matt整理的DevOps vc见面会中一些互动问答,阅读本文Docker爱好者可以快速了解新特性和新趋势. Matt Saunders是Contino的首席DevOps咨询顾问,也是资深工程师中的一员,他的从业背景囊括了企业和创业公司.Matt同时也是London DevOps meet-up联合组织者--这是一个会员超过3000且每月组织见面会的组织. 关于数据容器,Docker对未来是如何考虑的,以及它将如何回应

TL-WR700N中Bridge模式通过无线连接两个网络的设置图解

TL-WR700N工作在Bridge模式的应用拓扑如下: TL-WR700N无线Bridge模式应用拓扑 1.确认主路由器参数 登录需要桥接的无线路由器(即主路由器)的管理界面,确认SSID.信道.无线密码等参数,以下表为例: 注:此处参数仅供本文参考,真实环境中以实际参数为准. 2.设置电脑无线网卡 设置路由器之前,需要将操作电脑的无线网卡设置为自动获取IP地址.如果您不清楚如何设置,请参考: 把TL-WR700N的模式开关拔动到 AP模式,如下图所示: 路由器的默认SSID为:TP-LINK