设置从docker-compose.yml为Docker容器指定IP

时间:2017-04-20 18:04:09

标签: docker docker-compose

我有docker-compose.yml个文件

web_server:
    build: web_server/
    ports:
        - "8000:8000"
    links:
        - mongo
    tty: true
    environment:
        SYMFONY__MONGO_ADDRESS: mongo
        SYMFONY__MONGO_PORT: 27017
    networks:
        app_net:
           ipv4_address: 172.16.238.10
           ipv6_address: 2001:3984:3989::10

networks:
  app_net:
    driver: bridge
    enable_ipv6: true
    ipam:
      driver: default
      config:
      -
        subnet: 172.16.238.0/24
      -
        subnet: 2001:3984:3989::/64

mongo:
    image: mongo:3.0
    container_name: mongo
    command: mongod --smallfiles
    expose:
        - 27017

我想为我的web_server指定一个IP,以便在另一个应用程序中传递它。

但是当我调用命令docker-compose up时,我发现错误:

ERROR: The Compose file '.\docker-compose.yml' is invalid because:
Unsupported config option for networks: 'app_net'
Unsupported config option for web_server: 'networks'

有什么问题?

1 个答案:

答案 0 :(得分:0)

我不知道你为什么会遇到这个错误,但你可以试着解决一些问题:

  1. 网络服务器网络必须引用下面声明的网络
  2. 您简化了网络配置,仅从ipv4开始
  3. 这是一个有效的配置:

    version: '2'
    
    services:
    
      webssl:
        image: nginx:1.11.4-alpine
        ports:
          - "443:443"
          - "80:80"
        volumes:
          - /data/nginx/webroot:/usr/share/nginx/html:ro
        networks:
          - dmz
    
    networks:
      dmz:
        ipam:
          driver: default
          config:
            - subnet: 172.77.0.1/24
              ip_range: 172.77.0.0/24
              gateway: 172.77.0.1