docker网络,docker-compose network问题

 更新时间:2024年01月09日 09:15:48   作者:罗德斯  
这篇文章主要介绍了docker网络,docker-compose network问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

docker网络,docker-compose network

单机桥接网络,bridge(Linux)、nat(Windows) 

特点:

1.只能在单个docker主机上运行,并且只能与所在docker主机上的容器进行连接。

2.桥接意味着这是802.1.d桥接的一种实现(二层交换机)

Linux主机上:

docker网络由bridge驱动创建,而bridge底层是基于Linux内核中久经考验达15年的Linux bridge技术。

默认的“bridge”网络被映射到内核中为“docker0”的Linux网桥。

本地系统中存在的网桥如下图(需要安装bridge-utils):

docker0对应docker中默认网桥bridge;

网桥未开启STP,并且有容器内部的网桥借口设备接入对应网桥(网桥对应的interfaces下有关联容器网络借口网络)

调整思绪,未完待续。。。。。。

docker-compose 网络

networks:

  my_network:     #网络名称
    driver: bridge      #桥接模式
    attachable:true      #允许独立的网络连接到该网络上

  persist:                #网络名称
    external:           #使用已存在的网络
      name: bridge2    #已创建的网络名

docker-compose network名称定义

docker-compose启动的网络名称:

1、没有自定义网络名

$ cat docker-compose.yaml 
version: '2'
 
services:
  zookeeper1:
    image: zookeeper
    container_name: zookeeper1
    environment:
        - ZOO_MY_ID=1
        - ZOO_SERVERS=server.1=zookeeper1:2888:3888

实际使用的网络是:<当前路径名_default>,如果<当前路径名>太长,会截取前缀部分。

例如当然目录名为testdocker,那么最终生产的网络名为:testdocker_default

$ docker network ls
abf87f64de25        testdocker_default   bridge              local

2、定义后缀

$ cat docker-compose.yaml 
version: '2'
networks:
  byfn:
 
services:
  zookeeper1:
    image: zookeeper
    container_name: zookeeper1
    environment:
        - ZOO_MY_ID=1
        - ZOO_SERVERS=server.1=zookeeper1:2888:3888
    networks:
      - byfn

定义网络名为byfn,那么最终生产的网络名为:<当前路径名_byfn>。

相对于之前没有定义的时候,把default替换成了定义的网络名,同样还是使用路径名作为前缀。

$ docker network ls
abf87f64de25        testdocker_byfn   bridge              local

3、定义前缀

当然使用路径名作为网络名是很不友好的,docker-compose使用环境变量来取代路径名。

设置环境变量:COMPOSE_PROJECT_NAME

$ cat .env
COMPOSE_PROJECT_NAME=aaa

这时网络名如下:

$ docker network ls
967ef0d41dd6        aaa_byfn                       bridge              local

所以,docker-compose的网络名的规则是:<COMPOSE_PROJECT_NAME>_<NETWORKS>

1、如果NETWORKS没有定义,那么就是default。

2、如果COMPOSE_PROJECT_NAME,那么就是当前路径名(取前缀)。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • docker-compose 配置spring环境的方法步骤

    docker-compose 配置spring环境的方法步骤

    这篇文章主要介绍了docker-compose 配置spring环境的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • docker利用单个镜像映射到多个端口操作

    docker利用单个镜像映射到多个端口操作

    这篇文章主要介绍了docker利用单个镜像映射到多个端口操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • docker 数据卷之进阶篇

    docker 数据卷之进阶篇

    这篇文章主要介绍了docker 数据卷之进阶篇,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-03-03
  • Mac上将brew安装的MySql改用Docker执行操作过程

    Mac上将brew安装的MySql改用Docker执行操作过程

    本文分步骤给大家介绍Mac上将brew安装的MySql改用Docker执行操作过程的知识,本文给大家介绍的非常详细,具有参考借鉴价值,感兴趣的朋友一起看看吧
    2016-11-11
  • Docker之自定义网络实现

    Docker之自定义网络实现

    大家好,本篇文章主要讲的是Docker之自定义网络实现,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12
  • 使用Docker部署openGauss国产数据库的操作方法

    使用Docker部署openGauss国产数据库的操作方法

    openGauss是一款支持SQL2003标准语法,支持主备部署的高可用关系型数据库,这篇文章主要介绍了使用Docker部署openGauss国产数据库,需要的朋友可以参考下
    2022-10-10
  • 使用Docker compose启动自定义jar包的步骤详解

    使用Docker compose启动自定义jar包的步骤详解

    这篇文章主要介绍了使用Docker compose启动自定义jar包的步骤,首先我们需要编写一个docker-compose.yml文件来定义我们的服务传到我们的云服务器上,本文给大家分享示例代码,感兴趣的朋友一起看看吧
    2024-03-03
  • Docker打印和配置环境变量的命令详解

    Docker打印和配置环境变量的命令详解

    在现代应用开发中,Docker 提供了一种有效的容器化解决方案,使得应用的部署、扩展和管理变得更加灵活,环境变量在容器化应用中起着重要作用,它们可以帮助配置应用的运行环境,本文给大家介绍了在 Docker 容器中打印和配置环境变量,需要的朋友可以参考下
    2024-10-10
  • docker使用registry搭建本地镜像仓库实例详解

    docker使用registry搭建本地镜像仓库实例详解

    这篇文章主要介绍了docker使用registry搭建本地镜像仓库实例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-09-09
  • Prometheus 整合 AlertManager的教程详解

    Prometheus 整合 AlertManager的教程详解

    Alertmanager 主要用于接收 Prometheus 发送的告警信息,它很容易做到告警信息的去重,降噪,分组,策略路由,是一款前卫的告警通知系统。这篇文章主要介绍了Prometheus 整合 AlertManager的教程 ,需要的朋友可以参考下
    2019-07-07

最新评论