适合小白看的docker compose 网络概念

什么是Docker Compose

Docker Compose是一个单机上的能够一次性启动多个容器的工具。在原生的Docker的使用过程中,每次启动一个新的容器,就需要开一个新的Docker File,相对来说比较麻烦。尤其是部署多个服务的时候,所以有了Docker Compose这个工具,用来一次性部署多个容器。Docker Compose通过yml配置工具,管理多个容器的网络、存储、服务。

Docker Compose 安装

Docker Compose的具体安装办法,适用于的平台有Linux、Windows、Mac。具体的安装办法,可见下面链接。

Docker Compose中的network配置概念解析

在实际的应用过程中,网络的配置比较重要,操作起来也相对麻烦。

网络名称配置

下面的配置,申明当前服务配置在哪个网络。

services:
  some-service:
    networks:
      - some-network
      - other-network

服务所在容器域名配置,或者别名配置

服务名称为backend所在容器,被配置了两个别名,一个是dataBase,一个是mysql。

services:
  frontend:
    image: awesome/webapp
    networks:
      - front-tier
      - back-tier
  monitoring:
    image: awesome/monitoring
    networks:
      - admin
  backend:
    image: awesome/backend
    networks:
      back-tier:
        aliases:
          - database
      admin:
        aliases:
          - mysql
networks:
  front-tier:
  back-tier:
  admin:

容器端口映射命令

下面这个是容器端口,映射规则。

[HOST:]CONTAINER[/PROTOCOL] where:

  • HOST is [IP:](port | range)
  • CONTAINER is port | range
  • PROTOCOL to restrict port to specified protocol. tcp and udp values are defined by the specification, Compose implementations MAY offer support for platform-specific protocol names.
ports:
  - "3000" 容器暴露3000端口
  - "3000-3005"暴露3000到3005端口