Docker Compose 方式下容器网络

#Docker Compose 方式下容器网络

##背景

我们项目使用docker compose 部署服务,之前后端服务访问数据库都是通过数据库服务映射到主机的特定端口来访问。近期出于安全方面的考虑的,我们需要让后端服务和数据库通信走容器内部网络。

为了解决这个的问题,就需要了解一下容器间网络通信的基础。

networks

container name

在使用Compose启动容器时,Compose 默认给你的 app 设置一个网络。 service 中的每个容器默认都加入这个网络,容器之间彼此是互通的。并且,可以利用容器名字识别到。

Note: 你 app 的网络默认情况下是和你的 project name 有关的。这个 project name 其实就是你 docker-compose.yml 文件存放的那个目录的名字。比如,目录名叫 db,那么默认情况下会创建一个叫 db_default 的网络。你可以使用 --project-nameCOMPSE_PROJECT_NAME 环境变量。

举个栗子,docker-compose.yml

 version: "2.1"
 services:
   web:
     image: nginx
     ports:
       - "8080:80"
   busybox:
     image: busybox
     entrypoint:
      - top

这个文件放在project目录下当我们执行了 docker-compose up -d 之后:

  • 一个叫project_default 的网络将会被创建。
  • web 和 busybox 容器将会被创建,并加入project_default 网络中
project $ docker network ls
NETWORK ID          NAME                DRIVER              SCOPE
f17520060e9d        bridge              bridge              local
a3028588ea24        host                host                
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值