Вопрос или проблема
Я не могу развернуть 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 показывает сообщение о неудачном подключении. Это может быть связано с несколькими причинами:
-
Неправильное перенаправление портов: Убедитесь, что порт правильно проброшен и что брандмауэр вашей Windows-системы не блокирует подключение к этому порту.
-
Невалидный образ: Сообщение о том, что образ контейнера может быть неисправен, также может быть источником проблемы.
Применение
Для решения этой проблемы я рекомендую попробовать несколько шагов:
-
Проверка сети: Убедитесь, что Docker имеет необходимые права для работы с сетью и что порты (например, 9980) не блокируются вашим брандмауэром или не заняты другими приложениями.
-
Альтернативный контейнер: Если контейнер действительно неисправен, как предполагается в одном из обсуждений, попробуйте другой контейнер 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
-
Проверка работы контейнера: Используйте команду
docker logs <CONTAINER_ID>
, чтобы увидеть, какие ошибки возникают при запуске контейнера, и устраните их.
Если после выполнения этих шагов проблема не решится, поищите обновленные или более стабильно работающие образы или задайте вопрос на форумах сообщества пользователей Docker и LibreOffice для получения дополнительных рекомендаций.