Клиент CUPS не работает с именем контейнера докеров

Клиент CUPS не может печатать при указании сервера CUPS в качестве имени контейнера, хотя он отлично работает с IP-адресом контейнера:

Пример docker-compose.yml :

version: '3.7'
services:

  client:
    container_name: cups_client
    image: cups_client

  server:
    container_name: cups_server
    image: cups_server

/etc/cups/client.conf контейнера клиента использует имя контейнера сервера:

ServerName cups_server

Однако эта конфигурация не работает должным образом (выполняется внутри контейнера клиента):

$ lpstat -r
scheduler is running
$ lpstat -v
lpstat: Error - add '/version=1.1' to server name.

Я пытался добавьте '/version=1.1' к имени сервера в /etc/cups/client.conf , но ошибка все равно отображается.

Однако, если я использую IP-адрес контейнера сервера в /etc/cups/client.conf , печать работает нормально:

ServerName 172.27.0.2

См. Разницу в lpstat -v :

$ lpstat -r
scheduler is running
$ lpstat -v
device for queue_name: ipp://192.168.0.10/ipp/port1

Разрешение имен работает нормально в однако клиентский контейнер:

$ getent hosts cups_server
172.27.0.2      cups_server

Теперь использование IP-адреса на самом деле не вариант, поскольку конфигурация печати предоставляется уже во время сборки, когда IP-адрес еще не известен. Также, насколько я понимаю, CUPS должны прекрасно работать с именем контейнера.

Благодарен за любую идею, как решить эту проблему или почему чашки не сочетаются с именем контейнера.

0
задан 14 April 2020 в 15:11
1 ответ

Оказывается, это проблема конфигурации сервера CUPS.

Сервер CUPS регистрируется в / var / log / cups / error_log :

Request from "172.27.0.3" using invalid Host: field "cups-server:631".

Решение:

Добавить ServerAlias ​​cups-server в / etc / cups / cupsd.conf

0
ответ дан 14 April 2020 в 21:36

Теги

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