Как получить доступ к LibreOffice, работающему в контейнере Docker, с системы Windows?

Вопрос или проблема

Я не могу развернуть LibreOffice на своей виртуальной машине с использованием Docker.

Я запускаю свой контейнер с помощью:

docker run -t -d -p 127.0.0.1:9980:9980 -e "domain=<your-dot-escaped-domain>" --cap-add MKNOD libreoffice/online:master

Кажется, что он работает, потому что, когда я ввожу docker ps, мой терминал возвращает:

CONTAINER ID        IMAGE                       COMMAND             CREATED             STATUS              PORTS                      NAMES
d3b8849cf74c        libreoffice/online:master   "/bin/bash"         14 minutes ago      Up 14 minutes       127.0.0.1:9980->9980/tcp   modest_ardinghelli

но когда я перехожу по URL, Firefox показывает только сообщение “соединение не удалось”

Согласно этой теме контейнер, похоже, сломан, то есть множество сообщений указывают на наличие проблем, и последнее сообщение было опубликовано два дня назад. Моя рекомендация – поискать другой Docker контейнер LibreOffice, который работает.

Например, я создал следующий dockerfile и инструкции. Если его собрать с использованием:

docker build -t 030-libreoffice .

и запустить контейнер:

docker run -i -t --rm -e DISPLAY=$DISPLAY -u root -v \
/tmp/.X11-unix:/tmp/.X11-unix:ro 030-libreoffice

LibreOffice будет запущен.

Ответ или решение

Чтобы получить доступ к LibreOffice, работающему в Docker-контейнере, с Windows-системы, необходимо учесть несколько факторов, касающихся настройки и конфигурации Docker, а также возможные проблемы с контейнером, которые были упомянуты в описании.

Теория

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

Пример

Согласно вашему описанию, вы запустили контейнер с LibreOffice следующим образом:

docker run -t -d -p 127.0.0.1:9980:9980 -e "domain=<your-dot-escaped-domain>" --cap-add MKNOD libreoffice/online:master

Проблема возникает при попытке доступа через браузер, когда Firefox показывает сообщение о неудачном подключении. Это может быть связано с несколькими причинами:

  1. Неправильное перенаправление портов: Убедитесь, что порт правильно проброшен и что брандмауэр вашей Windows-системы не блокирует подключение к этому порту.

  2. Невалидный образ: Сообщение о том, что образ контейнера может быть неисправен, также может быть источником проблемы.

Применение

Для решения этой проблемы я рекомендую попробовать несколько шагов:

  1. Проверка сети: Убедитесь, что Docker имеет необходимые права для работы с сетью и что порты (например, 9980) не блокируются вашим брандмауэром или не заняты другими приложениями.

  2. Альтернативный контейнер: Если контейнер действительно неисправен, как предполагается в одном из обсуждений, попробуйте другой контейнер LibreOffice. Например, возьмите Dockerfile и инструкции, предоставленные другим пользователем, и соберите из них новый образ:

    docker build -t 030-libreoffice .

    После сборки стартуйте контейнер:

    docker run -i -t --rm -e DISPLAY=$DISPLAY -u root -v /tmp/.X11-unix:/tmp/.X11-unix:ro 030-libreoffice
  3. Проверка работы контейнера: Используйте команду docker logs <CONTAINER_ID>, чтобы увидеть, какие ошибки возникают при запуске контейнера, и устраните их.

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

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

Капча загружается...