Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

DOCKER_STATIC_IP_CONFIG Linux / DevOps

Настройка статических IP-адресов контейнеров в пользовательских сетях Bridge

Обновлено: 21.08.2026
  • Смена IP-адреса контейнера после перезагрузки хоста или перезапуска Docker-демона.
  • Сбои межсервисного взаимодействия при использовании интеграций со сторонними системами (белые списки IP в фаерволах, legacy СУБД).
  • Ошибка user specified IP address is supported on user defined networks only при попытке назначить IP в стандартной сети bridge.

1. Создание изолированной пользовательской Bridge-сети

Статические IP поддерживаются только в кастомных сетях с явно определенной подсетью:

docker network create \
  --driver bridge \
  --subnet 172.28.0.0/16 \
  --gateway 172.28.0.1 \
  custom_isolated_net

2. Запуск контейнера со статическим IP через Docker CLI

docker run -d \
  --name database_static \
  --net custom_isolated_net \
  --ip 172.28.5.10 \
  -p 5432:5432 \
  postgres:15-alpine

3. Конфигурация статического IP в Docker Compose

version: "3.8"
services:
  backend_service:
    image: custom-api:latest
    container_name: api_server
    networks:
      static_network:
        ipv4_address: 172.20.0.50
    ports:
      - "8080:8080"

networks:
  static_network:
    driver: bridge
    ipam:
      driver: default
      config:
        - subnet: 172.20.0.0/24
          gateway: 172.20.0.1

4. Проверка назначенного IP-адреса

docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' api_server
💡 Практика специалистов: В современных микросервисных архитектурах жесткая привязка IP является антипаттерном. Внутри одной user-defined сети Docker предоставляет встроенный DNS-резолвер по именам контейнеров.

Частые вопросы (FAQ)

Можно ли назначить статический IP в стандартной сети 'bridge' по умолчанию?

Нет. Архитектура Docker запрещает ручное назначение IP-адресов в дефолтной сети bridge. Необходимо создать собственную пользовательскую сеть (user-defined network).

Как подключить контейнер сразу к двум сетям со статическими IP?

Используйте команду: docker network connect --ip 172.29.0.5 second_net container_name.

Полезные материалы
Рекомендуем