0
0 Комментариев

Dockerfile Мне надо поднимать unoconv(использует Libreoffice/Soffice/OpenOffice) приложение в одном контейнере в слушающем режиме (серверном) на определенном порту, затем пробросить этот порт на внешнюю машину, и сделать так чтобы можно было достучаться из других контейнеров по этому порту к серверу unoconv.


Вот работа с первым контейнером(запуск в слушающем режиме):

1) я хочу пробросить внутренний порт контейнера на 2004 внешний.

2) ifconfig показывает такой адрес 172.17.0.2


Вот работа со вторым контейнером(попытка подключения к экземпляру unoconv в существующем контейнере):

Думаю следует обратить внимание на это:

MacBook-Air-Nikita:~ user$ docker run --expose=2004 -p 2004:2004 -v /Users/user/Desktop/:/Users/user/Desktop/ -it avsw/libreoffice_container:v1 /bin/bash
docker: Error response from daemon: driver failed programming external connectivity on endpoint romantic_kirch (1e02fc65cb59635f7dfa083f843ce84ff1907b17c0b459f43638d7fdf4928cda): Bind for 0.0.0.0:2004 failed: port is already allocated.
MacBook-Air-Nikita:~ user$ docker run --expose=2004 -v /Users/user/Desktop/:/Users/user/Desktop/ -it avsw/libreoffice_container:v1 /bin/bash

По всей видимости я не правильно подключаюсь к порту с которым работает серверный контейнер ? ifconfig показывает inet 172.17.0.3

Итак попытка подключения к другому контейнеру не увенчалась успехом:

[root@ca0e93d2559b /]# unoconv -vvv -p 2004 -f odt /Users/user/Desktop/собеседование.pdf
Verbosity set to level 3
Using office base path: /usr/lib64/libreoffice
Using office binary path: /usr/lib64/libreoffice/program
DEBUG: Connection type: socket,host=127.0.0.1,port=2004,tcpNoDelay=1;urp;StarOffice.ComponentContext
DEBUG: Existing listener not found.
DEBUG: Launching our own listener using /usr/lib64/libreoffice/program/soffice.bin.
LibreOffice listener successfully started. (pid=50)
Input file: /Users/user/Desktop/собеседование.pdf
Selected output format: ODF Text Document [.odt]
Selected office filter: writer8
Used doctype: document
Output file: file:///Users/user/Desktop/%C3%91%C2%81%C3%90%C2%BE%C3%90%C2%B1%C3%90%C2%B5%C3%91%C2%81%C3%90%C2%B5%C3%90%C2%B4%C3%90%C2%BE%C3%90%C2%B2%C3%90%C2%B0%C3%90%C2%BD%C3%90%C2%B8%C3%90%C2%B5.odt
unoconv: UnoException during export phase:
Unable to store document to file:///Users/user/Desktop/%C3%91%C2%81%C3%90%C2%BE%C3%90%C2%B1%C3%90%C2%B5%C3%91%C2%81%C3%90%C2%B5%C3%90%C2%B4%C3%90%C2%BE%C3%90%C2%B2%C3%90%C2%B0%C3%90%C2%BD%C3%90%C2%B8%C3%90%C2%B5.odt (ErrCode 283)
 
Properties: ((com.sun.star.beans.PropertyValue){ Name = (string)"FilterName", Handle = (long)0x0, Value = (any){ (string)"writer8" }, State = (com.sun.star.beans.PropertyState)DIRECT_VALUE }, (com.sun.star.beans.PropertyValue){ Name = (string)"OutputStream", Handle = (long)0x0, Value = (any){ (com.sun.star.uno.XInterface)0x3f477f8{, supportedInterfaces={com.sun.star.lang.XTypeProvider,com.sun.star.io.XOutputStream}} }, State = (com.sun.star.beans.PropertyState)DIRECT_VALUE }, (com.sun.star.beans.PropertyValue){ Name = (string)"Overwrite", Handle = (long)0x0, Value = (any){ (boolean)true }, State = (com.sun.star.beans.PropertyState)DIRECT_VALUE })
DEBUG: Terminating LibreOffice instance.
DEBUG: Waiting for LibreOffice instance to exit.

И даже так:

[root@ca0e93d2559b /]# unoconv -vvv -p 2004 -s 172.17.0.2 -f odt /Users/user/Desktop/собеседование.pdf
Verbosity set to level 3
Using office base path: /usr/lib64/libreoffice
Using office binary path: /usr/lib64/libreoffice/program
DEBUG: Connection type: socket,host=172.17.0.2,port=2004,tcpNoDelay=1;urp;StarOffice.ComponentContext
DEBUG: Existing listener not found.
DEBUG: Launching our own listener using /usr/lib64/libreoffice/program/soffice.bin.
LibreOffice listener successfully started. (pid=72)
Failed to connect to /usr/lib64/libreoffice/program/soffice.bin (pid=72) in 6 seconds.
Connector : couldn't connect to socket (Success)
Error: Unable to connect or start own listener. Aborting.

Нужна помощь, как подключить контейнеры к друг другу ?


Добавить комментарий