我需要我的容器(本地grpc_alpine)可以在连接到内部网络时访问Internet。我已经尝试了以下yaml文件:
version: '2'
services:
gr1:
image: grpc_alpine
hostname: gr1
container_name: gr1
privileged: true
stdin_open: true
tty: true
volumes:
- "${PWD}/assets/grpc:/etc/grpc"
networks:
- default
- mynet:
ipv4_address: "10.10.10.11"
environment:
- DEFAULT_GATEWAY=10.10.10.254
networks:
mynet:
ipam:
config:
- subnet: 10.10.10.0/24
gateway: 10.10.10.254
但是抛出了这个问题:
compose.config.config.find:使用配置文件: ./docker-compose.yml错误:compose.cli.main.main:撰写文件 './docker-compose.yml'无效,因为:services.gr1.networks 包含{“ mynet”:{“ ipv4_address”:“ 10.10.10.11”}},这是 无效的类型,应为字符串
答案 0 :(得分:1)
您的yaml配置有一个小问题。 networks
中的services
选项要求使用地图而不是列表。试试这个:
version: '2'
services:
gr1:
image: grpc_alpine
hostname: gr1
container_name: gr1
privileged: true
stdin_open: true
tty: true
volumes:
- "${PWD}/assets/grpc:/etc/grpc"
networks:
default:
mynet:
ipv4_address: "10.10.10.11"
environment:
- DEFAULT_GATEWAY=10.10.10.254
networks:
mynet:
ipam:
config:
- subnet: 10.10.10.0/24
gateway: 10.10.10.254