Я новичок в докере, и у меня есть программа писателя Google Sheets на Java.При запуске его вне контейнера Docker он пытается создать файл «StoredCredential» на основе файла «credentials.json» в рабочем каталоге (он содержит ваш идентификатор клиента Google, секрет и т. Д.).Это делается путем открытия веб-браузера, когда вы (в браузере) входите в одну из своих учетных записей Google, чтобы продолжить «Быстрый запуск», и получаете проверочный код, чтобы программа Java продолжала работать как задумано (запись вуказанные ячейки в выбранном вами листе Google).После успешного запуска этой программы в первый раз создается «StoredCredential», поэтому для ее повторного запуска больше не требуется входить в одну из учетных записей Google с помощью веб-браузера.У меня есть Dockerfile для размещения всей этой программы в Docker-контейнере, и он выглядит следующим образом:
FROM java:8
COPY . /
WORKDIR /
RUN javac -cp "libs/*:." SheetsQuickstart.java
CMD ["java", "-cp", "libs/*:.", "SheetsQuickstart"]
В основном он копирует все файлы в рабочем каталоге программы (включая StoredCredential, если он еще был создан) вконтейнер Docker перед его компиляцией и подготовкой к запуску.Спецификации classpath "libs / " как для компиляции, так и для времени выполнения необходимы, потому что "libs / " содержит все необходимые файлы .jar для работы программы.Если я создаю образ из этого файла Docker, а «StoredCredential» уже находится в рабочем каталоге, то программа на Java работает как задумано.Но если я создаю изображение без «StoredCredential», то программа пытается создать учетные данные, как и раньше ... за исключением того, что после открытия ссылки в веб-браузере, выбора моей учетной записи Google и разрешения «Быстрый запуск» я получаюстраница с сообщением об ошибке: «Этот сайт не может быть достигнут. Localhost отказался подключиться. Поиск в Google для обратного вызова localhost 8888. ERR_CONNECTION_REFUSED.»В программе Java используется порт 8888. Я пытался запустить его следующим образом:
docker run sheets
docker run -p 8888 sheets
Они не решают эту проблему.Кто-нибудь знает, как заставить док-контейнер правильно взаимодействовать с вашим веб-браузером при попытке создать учетные данные Google Sheets?