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实践--部署Nodejs应用

    Docker实践--部署Nodejs应用

    本篇文章主要介绍了Docker实践--部署Nodejs应用,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01
  • Docker Registry搭建私有镜像仓库的实现方法

    Docker Registry搭建私有镜像仓库的实现方法

    这篇文章主要介绍了Docker Registry搭建私有镜像仓库的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-10-10
  • Docker镜像的制作,上传,拉取和部署操作(利用阿里云)

    Docker镜像的制作,上传,拉取和部署操作(利用阿里云)

    这篇文章主要介绍了Docker镜像的制作,上传,拉取和部署操作(利用阿里云),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • 使用docker 部署mysql突然连接不上的问题及解决方法

    使用docker 部署mysql突然连接不上的问题及解决方法

    这篇文章主要介绍了使用docker 部署mysql,突然连接不上,要解决这个问题需要找到根本原因,对症治疗就好,本文通过图文实例相结合给大家介绍的非常详细,需要的朋友可以参考下
    2022-06-06
  • Docker 容器健康检查的指令方式详解

    Docker 容器健康检查的指令方式详解

    这篇文章主要介绍了Docker 容器健康检查的指令方式详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-11-11
  • Docker镜像多架构构建介绍

    Docker镜像多架构构建介绍

    这篇文章主要介绍了Docker镜像多架构构建介绍,文章围绕主题展开详细的介绍,具有一点定的参考价值,感兴趣的小伙伴可以参考一下
    2022-09-09
  • Docker 数据卷,数据卷容器详细介绍

    Docker 数据卷,数据卷容器详细介绍

    这篇文章主要介绍了 Docker 数据卷,数据卷容器详细介绍的相关资料,这里对Docker 数据卷,数据卷容器的感念及相关操作进行了介绍,需要的朋友可以参考下
    2016-11-11
  • 清理或删除docker无用镜像的操作方法

    清理或删除docker无用镜像的操作方法

    这篇文章主要介绍了清理或删除docker无用镜像的操作方法,清除docker无用镜像首先查看docker占用的资源,只删除那些未被使用的资源,文中给大家补充介绍了docker 批量删除无用的容器或镜像的方法,感兴趣的朋友一起看看吧
    2023-01-01
  • docker安装Elasticsearch7.6集群并设置密码的方法步骤

    docker安装Elasticsearch7.6集群并设置密码的方法步骤

    本文主要介绍了docker安装Elasticsearch7.6集群并设置密码,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-10-10
  • docker容器资源配额控制详解

    docker容器资源配额控制详解

    本篇文章主要介绍了docker容器资源配额控制详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-11-11

最新评论