Клиент 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 должны прекрасно работать с именем контейнера.
Благодарен за любую идею, как решить эту проблему или почему чашки не сочетаются с именем контейнера.
Оказывается, это проблема конфигурации сервера 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