Когда требуется запуск `-i `podman и как `-i `работает с podman create?

Подобно большинству systemdзаменителей важных служб (ntp, dns, cron и т. д.)systemd-resolvedявляется недоработанной -реализацией, которая подходит только для настольных компьютеров, которые очень похожи на рабочий стол Леннарта Поттеринга. машина. Если это работает для его нужд в его системе, то этого достаточно для всех, так что хватит ныть. WONTFIX NOTABUG ОШИБКА ПОЛЬЗОВАТЕЛЯ. systemd в качестве init в порядке, жаль, что он некомпетентно пытается сделать гораздо больше, чем должен.

Итак, сначала отключите systemd-resolvedс помощью:

systemctl stop systemd-resolved
systemctl disable systemd-resolved

Затем установите настоящее имя рекурсивного кэширования -сервер (dnsmasq, unbound, bindили любой другой )и настройте его для пересылки запросов для вашего hosts.virshдомена на 192.168.122.1

С dnsmasq вы должны использовать что-то вроде --server=/hosts.virsh/192.168.122.1.

Со связкой,определите зону переадресации в вашем named.confвот так:

zone "hosts.virsh" {
        type forward;
        forwarders { 192.168.1.122; };
};

С Unbound что-то вроде:

forward-zone:
name: "hosts.virsh."
forward-addr: 192.168.1.122

Если этот сервер имен настроен на прослушивание всех IP-адресов (или, по крайней мере, адреса, доступного в вашей локальной сети ), он также может действовать как кэширующий преобразователь для других машин в вашей сети. IMO каждая сеть должна иметь кэширующий преобразователь, время отклика менее -мс для кэшированного разрешения DNS лучше, чем миллисекунды, десятки или даже сотни миллисекунд.

Если вы уже используете dnsmasqдля своих виртуальных машин, должна быть возможность настроить его для работы как с вашими виртуальными машинами, так и с вашим хостом (и другими машинами в вашей сети )без необходимости пересылки для хостов..virsh (этот домен уже будет частью его конфигурации ).

Я говорю "следует", потому что не пробовал, потому что не использую dnsmasq. Вместо этого я использую фиксированные IP-адреса ISC dhdcpdи bind9и жесткий код -на основе MAC-адреса в моем dhdpd.confи вручную добавляю записи для своих виртуальных машин в файл зоны моего домена.

0
22.11.2020, 02:04
1 ответ

Вам не нужно -i, если вы укажете -t, который задокументирован как

When set to true Podman will allocate a pseudo-tty and attach to the standard input of the container. This can be used, for example, to run a throwaway interactive shell. The default is false.

Опции -aи -istartнельзя использовать для переопределения опций (отмены)-tили -i, заданных для create. Они полезны, когда эти опции не были указаны в createвремени. Обратите внимание, что -iимеет немного другое значение наcreate:

Keep STDIN open even if not attached.

т.start:

Attach container’s STDIN.

В обоих случаях -iможно использовать без -tили -a, хотя это может не дать ничего полезного (в зависимости от того, что ожидают команды, работающие в контейнере ).

0
18.03.2021, 22:48

Теги

Похожие вопросы