IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> [Docker] docker-compose内的networks配置 -> 正文阅读

[系统运维][Docker] docker-compose内的networks配置

前言

本周内在使用docker-compose的过程中, 复习了docker的network. 以此为引言, 将整个过程稍微概述下.
?


常见声明 & 疑问解决

  • 声明网络并使用网络
version: "3"
services:
  nginx:
    image: nginx:stable-alpine
    container_name: nginx
    ports:
      - "8080:80"
    volumes:
      - ./src:/var/www
      - ./nginx/default.conf:/etc/nginx/conf.d/default.conf
    depends_on:
      - php
    networks:
      - laravel
  php:
    build: 
      context: .
      dockerfile: Dockerfile
    container_name: php
    volumes:
        - ./src:/var/www
    working_dir: /var/www
    # command: "php artisan serve --host=0.0.0.0 --port=8000"
    ports:
      - "9000:9000"
    # 使用声明的网络 
    networks:
      - laravel
# 声明网络      
networks:
    laravel:
      # 该网络是外部的网络
      external: true
  1. 可以看到 networks目录下. 就是声明了network网络.
  2. external: true. 表示使用的是外部的网络. 但是, 值得注意的是, 这样使用需要提前使用docker network create <network-name (ex. laravel)>命令创建相关网络. (否则在使用docker-compose up -d时, 会报如下错误ERROR: Service "xxx" uses an undefined network "network-name")
  3. 另外, docker-compose.yml的version必须大于1.

?

?

Reference

[1] docker-compose.yaml 中network配置问题
[2]. docker的docker-compose.yml文件的networks配置
[3]. docker-compose文件中networks使用已经创建的网络


docker-compose中的networks网络设置一览

  1. 不进行设置. 使用默认. 未显式声明网络环境的docker-compose.yml
version: '3'
services:
  web:
    mage: nginx:latest
    container_name: web
    depends_on:
      - db
    ports:
      - "9090:80"
    links:
      - db
  db:
    image: mysql
    container_name: db

docker会自动生成一个默认的bridge类型网络. 将容器加入其中. 比如如下所示: 我们启动一个mongodb的容器.

前言

本周内在使用docker-compose的过程中, 复习了docker的network. 以此为引言, 将整个过程稍微概述下.
?


常见声明 & 疑问解决

  • 声明网络并使用网络
version: "3"
services:
  nginx:
    image: nginx:stable-alpine
    container_name: nginx
    ports:
      - "8080:80"
    volumes:
      - ./src:/var/www
      - ./nginx/default.conf:/etc/nginx/conf.d/default.conf
    depends_on:
      - php
    networks:
      - laravel
  php:
    build: 
      context: .
      dockerfile: Dockerfile
    container_name: php
    volumes:
        - ./src:/var/www
    working_dir: /var/www
    # command: "php artisan serve --host=0.0.0.0 --port=8000"
    ports:
      - "9000:9000"
    # 使用声明的网络 
    networks:
      - laravel
# 声明网络      
networks:
    laravel:
      # 该网络是外部的网络
      external: true
  1. 可以看到 networks目录下. 就是声明了network网络.
  2. external: true. 表示使用的是外部的网络. 但是, 值得注意的是, 这样使用需要提前使用docker network create <network-name (ex. laravel)>命令创建相关网络. (否则在使用docker-compose up -d时, 会报如下错误ERROR: Service "xxx" uses an undefined network "network-name")
  3. 另外, docker-compose.yml的version必须大于1.

?

?

Reference

[1] docker-compose.yaml 中network配置问题
docker-compose.yaml 中network配置问题.pdf
[2]. docker的docker-compose.yml文件的networks配置

docker的docker-compose.yml文件的networks配置.pdf
[3]. docker-compose文件中networks使用已经创建的网络 docker-compose文件中networks使用已经创建的网络.pdf


docker-compose中的networks网络设置一览

  1. 不进行设置. 使用默认. 未显式声明网络环境的docker-compose.yml
version: '3'
services:
  web:
    mage: nginx:latest
    container_name: web
    depends_on:
      - db
    ports:
      - "9090:80"
    links:
      - db
  db:
    image: mysql
    container_name: db

docker会自动生成一个默认的bridge类型网络. 将容器加入其中. 比如如下所示: 我们启动一个mongodb的容器.
![image.png](https://img-blog.csdnimg.cn/img_convert/1de977455efcc5e4236e1877a1b7edb7.png#clientId=u47ea35ae-66e4-4&from=paste&height=213&id=uc13624a7&margin=[object Object]&name=image.png&originHeight=425&originWidth=1766&originalType=binary&ratio=1&size=68967&status=done&style=none&taskId=u0f0c53d3-1106-4d95-b8e1-efc1fc8fd85&width=883)
然后查询网络 & 查询网络的整体情况.
docker network ls/ docker network inspect bridge
![image.png](https://img-blog.csdnimg.cn/img_convert/7103cbbe30cbc224f35af60649f93b4f.png#clientId=u47ea35ae-66e4-4&from=paste&height=627&id=ue341c8eb&margin=[object Object]&name=image.png&originHeight=1254&originWidth=1625&originalType=binary&ratio=1&size=151479&status=done&style=none&taskId=ub63301d0-622b-4075-a1c3-32832384f1f&width=812.5)
可以看到. 自动创建了一个桥接的模式的网络. 并将容器放入其中.
?

  1. networks关键字指定自定义网络

?

version: '3'

services:
  proxy:
    build: ./proxy
    networks:
      - front
  app:
    build: ./app
    networks:
      - front
      - back
  db:
    image: postgres
    networks:
      - back

networks:
  front:
    # Use a custom driver
    driver: custom-driver-1
  back:
    # Use a custom driver which takes special options
    driver: custom-driver-2
    driver_opts:
      foo: "1"
      bar: "2"

custom-driver-1应当选择相应的driver模式. host/ bridge / overlay等模式的一种.
?

  1. 配置默认网络
version: '2'

services:
  web:
    build: .
    ports:
      - "8000:8000"
  db:
    image: postgres

networks:
  default:
    # Use a custom driver
    driver: custom-driver-1
    

可以看到. 这种设置. 在server处没有显示的声明使用的网络. 但是其还会. 默认使用下方配置的默认网络.
?

version: '2'

networks:
  default:
    external: true
    name: my-pre-existing-network

默认网络. 可能还可以和external合并起来进行使用.
?

  1. 使用已经存在的网络 (外部网络)
networks:
  default:
    external: true
    name: my-pre-existing-network

Reference

[1]. docker-compose网络设置之networks
docker-compose网络设置之networks.pdf

然后查询网络 & 查询网络的整体情况.
docker network ls/ docker network inspect bridge
在这里插入图片描述

可以看到. 自动创建了一个桥接的模式的网络. 并将容器放入其中.
?在这里插入图片描述

  1. networks关键字指定自定义网络

?

version: '3'

services:
  proxy:
    build: ./proxy
    networks:
      - front
  app:
    build: ./app
    networks:
      - front
      - back
  db:
    image: postgres
    networks:
      - back

networks:
  front:
    # Use a custom driver
    driver: custom-driver-1
  back:
    # Use a custom driver which takes special options
    driver: custom-driver-2
    driver_opts:
      foo: "1"
      bar: "2"

custom-driver-1应当选择相应的driver模式. host/ bridge / overlay等模式的一种.
?

  1. 配置默认网络
version: '2'

services:
  web:
    build: .
    ports:
      - "8000:8000"
  db:
    image: postgres

networks:
  default:
    # Use a custom driver
    driver: custom-driver-1
    

可以看到. 这种设置. 在server处没有显示的声明使用的网络. 但是其还会. 默认使用下方配置的默认网络.
?

version: '2'

networks:
  default:
    external: true
    name: my-pre-existing-network

默认网络. 可能还可以和external合并起来进行使用.
?

  1. 使用已经存在的网络 (外部网络)
networks:
  default:
    external: true
    name: my-pre-existing-network

Reference

[1]. docker-compose网络设置之networks

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-01-24 11:21:19  更:2022-01-24 11:23:27 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 7:24:21-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码