Docker-Compose v3-静态IP

bre*_*req 5 docker docker-compose

我试图在我的docker-compose v3文件上设置一个静态IP,但是..我不能。每次设置时,都无法连接到该网页。我正进入(状态ERR_ADDRESS_UNREACHABLE

这是我的配置:

# docker-compose.yml
version: '3'
services:
    web:
        build: ./etc/nginx
        ports:
            - "90:80"
        volumes:
            - "./etc/ssl:/etc/ssl"
        depends_on:
            - php
            - database
    php:
        build: ./etc/php
        ports:
            - 9000:9000
        links:
            - database:mysqldb
        volumes:
            - "./etc/php/php.ini:/usr/local/etc/php/conf.d/php.ini"
            - ${APP_PATH}:/var/www/symfony
    database:
        image: mysql
        environment:
            MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
            MYSQL_DATABASE: ${MYSQL_DATABASE}
            MYSQL_USER: ${MYSQL_USER}
            MYSQL_PASSWORD: ${MYSQL_PASSWORD}
        ports:
            - 3300:3306
        volumes:
            - "./data/db/mysql:/var/lib/mysql"
Run Code Online (Sandbox Code Playgroud)

# docker-compose.override.yml
version: '3'
services:
  web:
    networks:
      test:
        ipv4_address: '10.1.0.100'

networks:
  test:
    ipam:
      driver: default
      config:
        - subnet: 10.1.0.0/24
Run Code Online (Sandbox Code Playgroud)

use*_*688 6

应该是这样的:

services:
  web:
    networks:
      test:
        ipv4_address: 10.1.0.100

networks:
  test:
    driver: bridge
    ipam:
      driver: default
      config:
        - subnet: 10.1.0.0/24
Run Code Online (Sandbox Code Playgroud)

就我而言,我在networks前面放置了一段services

更新:

最终我最终像这样使用外部网络:

docker network create --subnet 10.5.0.0/24 local_network_dev

然后在任何docker-compose中,您都可以像这样使用它:

version: '3.2'
networks:
  default:
    external:
      name: local_network_dev
Run Code Online (Sandbox Code Playgroud)

和图像的内部:

  web:
    networks:
      default:
        ipv4_address: 10.5.0.11
Run Code Online (Sandbox Code Playgroud)

  • 为什么这被否决了?这是因为……也许是为了 compose v2?不是v3?嗯,有两个“driver: ...”用于同一件事? (2认同)