如何为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
答案 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