docker-compose network名称定义解读

 更新时间:2026年03月05日 09:50:59   作者:wwqicode  
文章详细介绍了Docker Compose网络名称的生成规则,包括没有自定义网络名、定义后缀和定义前缀的情况,通过设置环境变量`COMPOSE_PROJECT_NAME`,可以更友好的命名网络

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安装MySql遇到的问题解决

    Docker安装MySql遇到的问题解决

    本文主要介绍了Docker安装MySql遇到的问题解决,详细的介绍了查询中文乱码问题以及主从同步中遇到的问题,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧
    2024-02-02
  • Docker部署Nginx 及Nginx的基本使用最佳实践

    Docker部署Nginx 及Nginx的基本使用最佳实践

    Nginx是一个高性能的HTTP和反向代理服务器,广泛应用于Web服务、负载均衡和静态资源托管等领域,这篇文章主要介绍了Docker部署Nginx 以及Nginx的基本使用,需要的朋友可以参考下
    2025-04-04
  • Docker-利用dockerfile来搭建tomcat服务的方法

    Docker-利用dockerfile来搭建tomcat服务的方法

    这篇文章主要介绍了Docker-利用dockerfile来搭建tomcat服务的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01
  • Docker网络配置及部署SpringCloud项目详解

    Docker网络配置及部署SpringCloud项目详解

    bridge模式是Docker默认的网络设置,此模式会为每一个容器分配Network Namespace、设置IP等,并将一个主机上的Docker容器连接到一个虚拟网桥上,下面这篇文章主要给大家介绍了关于Docker网络配置及部署SpringCloud项目的相关资料,需要的朋友可以参考下
    2023-01-01
  • 使用Docker安全地部署OpenClaw(龙虾)的详细步骤

    使用Docker安全地部署OpenClaw(龙虾)的详细步骤

    OpenClaw (龙虾) 是一个强大的个人 AI 助手,它可以连接各种消息平台并执行工具,本文介绍如何通过 Docker Compose 安全地部署 OpenClaw,并解析其中的关键配置,需要的朋友可以参考下
    2026-03-03
  • Docker Compose网络配置指南分享

    Docker Compose网络配置指南分享

    本文详细介绍了Docker网络配置的各个方面,包括基础网络架构、自定义网络配置、典型场景配置、高级网络技巧、调试与诊断以及最佳实践,通过多个实战案例和常见问题解决方案,帮助读者更好地理解和应用Docker网络技术
    2025-11-11
  • Docker部署RocketMQ超详细步骤(图文并茂)

    Docker部署RocketMQ超详细步骤(图文并茂)

    RocketMQ 是一款开源的分布式消息队列系统,具有低延迟、高并发、高可用等特性,这篇文章主要介绍了Docker部署RocketMQ超详细步骤的相关资料,通过这些步骤,用户可以成功搭建一个RocketMQ集群,并通过控制台进行管理和监控,需要的朋友可以参考下
    2025-04-04
  • Docker Registry仓库加密传输与登录认证方式

    Docker Registry仓库加密传输与登录认证方式

    本文详细介绍了如何为Docker私有仓库配置加密传输(TLS)和认证功能,包括生成自签名证书、配置客户端证书、添加认证文件和测试仓库功能
    2025-12-12
  • Docker快速部署GitLab的详细指南

    Docker快速部署GitLab的详细指南

    在 Windows 上使用 Docker 部署 GitLab 是完全可行的,推荐使用 Docker Desktop for Windows 来运行 GitLab 容器,下面小编就来详细介绍一下吧
    2025-09-09
  • docker中nginx的location转发不生效的解决

    docker中nginx的location转发不生效的解决

    这篇文章主要介绍了docker中nginx的location转发不生效的解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06

最新评论