Назад | Перейти на главную страницу

Порекомендовать способ настройки собственной сети докеров?

Я пытаюсь настроить прозрачную прокси-сеть с помощью контейнера (докера)

Client (C)         Proxy (P1)      Proxy (P2)
10.10.1.1/24      10.10.2.1/24    10.10.3.1/24
    veth0             veth0          veth0
     |                 |               |
  veth pair         veth pair      veth pair
     |                 |               |
 -----------(HOST)----------------------------
client-veth0       p1-veth0          p2-veth0
10.10.1.2/24      10.10.2.2/24     10.10.3.2/24
     |                 |               |    172.16.202.30
     +-----------------+---------------+------- enp4s0 ---- INTERNET

Я настроил эту сеть в среде Linux netns, выполнив приведенные ниже команды конфигурации внутри каждого пространства имен после настройки части хоста:

Docker по умолчанию выполняет работу в сети и соединяет все контейнеры с помощью мостовой сети. Я хочу настроить отдельную плоскость данных, оставив в стороне сеть управления (сеть докеров по умолчанию). Поэтому мне нужно создать дополнительную пару veth, по одному концу каждого контейнера и выполнить маршрутизацию политик на недавно установленных veth-интерфейсах.

Для этого я сделал сценарий выполнения: https://gist.github.com/cwyang/23220d7fed5a0cc9af21949aad70e2f6.

Я хочу настроить соответствующую сеть в среде Docker-compose.

Следует ли мне снова создать сценарий выполнения и запустить серию docker exec вместо того ip netns exec, чтобы настроить сеть внутри контейнера после запуска трех контейнеров?

Если нет, то какой способ рекомендуется?

Другими словами, есть ли план Б, когда нужно выполнить некоторую индивидуальную настройку от хоста до контейнера докеров? (A) Docker (-compose) запускается, и пользователь выполняет серию docker execs (B) Докер с некоторыми конфигурация для запуска после запуска контейнера. Конфигурация запускается докером, а не пользователем.

Когда контейнер не работает по какой-либо причине и docker (-compose) перезапускает его, следует применить конфигурацию. Таким образом, если механизм предоставляется ниже, пользователям не нужно отслеживать каждый участвующий контейнер, чтобы повторно применить конфигурацию самостоятельно. Так что мне интересно, есть ли план Б.

Любая помощь будет высоко оценена. Спасибо.