docker-compose创建网络“x”,找不到驱动程序“default”插件。 windows的码头工人

时间:2018-01-29 15:55:22

标签: docker docker-compose docker-for-windows docker-desktop

如何为docker-compose文件中的每个容器分配静态IP地址。

  

错误:创建网络“dockercompose7405404752525846881_app_net”   找不到驱动程序“默认”插件。

solusion有两个项目,一个Web前端和一个web-api后端。后端可通过angular.js

访问

项目构建并在docker端运行,并在docker中运行。

问题是我需要在docker-compose文件中设置静态ipaddress,这样我就可以管理前端和后端之间的计算(记住需要知道webapi ip的角度)。

这是我的已清理的docker-compose文件:

version: '2.1'

services:
  backend.api:
    image: backend.api
    ports:
      - "80:80"
    build:
      context: .\backend.API
      dockerfile: Dockerfile
    networks:
      app_net:
        ipv4_address: 111.111.1.200 


  frontend:
    image: frontend
    env_file: 
      - .\frontend\config.env
    ports:
      - "80:80"
    build:
      context: .\frontend
      dockerfile: Dockerfile
    networks:
       app_net:
        ipv4_address: 111.111.1.210       

networks:
   app_net:
     driver: default
     ipam:
      driver: default
      config:
       - subnet: 111.111.1.0/24 

我收到的错误消息如下:

  

使用创建网络“dockercompose7405404752525846881_app_net”   找不到驱动程序“默认”插件。

我尝试过版本3 ver 2和ver 2.1

1 个答案:

答案 0 :(得分:0)

我希望这有助于其他人遇到同样的问题。 “这是适用于WINDOWS DOCKER CONTAINERS”

我终于找到了在visual studio中使用Docker-Compose文件在我的容器上设置静态ip的正确方法..

关键是您需要先手动创建网络

docker network create -d nat --subnet=192.168.1.0/24 --gateway=192.168.1.254 app_net

在PowerShell中执行此行时,请记得更改网络名称和ipaddress以适合您的目的

docker network create -d nat --subnet=<subnet ip>/<end renage> --gateway=<gateway ip> <network name>

Docker-compose文件

version: '3.2'

services:
  backend.api:
    image: backend.api
    build:
      context: .\backend.API
      dockerfile: Dockerfile
    networks:
       app_net:
        ipv4_address: 111.111.1.210        

  FRONTEND:
    image: FRONTEND
    env_file: 
      - .\FRONTEND\config.env
    build:
      context: .\FRONTEND
      dockerfile: Dockerfile
    networks:
       app_net: 
        ipv4_address: 111.111.1.220


networks:
   app_net:
     external: true