如何使用docker和firefox运行web爬网应用程序?

hujrc8aj  于 2021-06-30  发布在  Java
关注(0)|答案(0)|浏览(290)

我想创建一个爬网应用程序。我与crawler4j的一个进一步发展的分支合作https://github.com/yasserg/crawler4j. 您可以使用selenium解析html,在本地应用程序中一切正常。
现在我想将这个应用程序打包到docker组件中,这会产生一些问题,因为我的容器中没有任何firefox依赖项。以下是dockerfile:

FROM Gradle: latest AS build

# Only copy dependency-related files

COPY build.gradle gradle.properties settings.gradle /src/

# Only download dependencies

# Eat the expected build failure since no source code has been copied yet

RUN gradle clean build --no-daemon > /dev/null 2>&1 || true
COPY ./src /src/src
COPY ./resources /src/resources
WORKDIR /src
RUN gradle shadowjar --no-daemon

FROM openjdk:14
COPY --from=build /src/build/libs/UniCrawl-0.1-all.jar /tmp/UniCrawl-0.1.jar
COPY --from=build /src/resources/geckodriver /tmp/geckodriver
EXPOSE 8080/tcp 8081/tcp
CMD [ "java", "-jar", "/tmp/UniCrawl-0.1.jar", "db:3306", "/tmp/geckodriver"]

selenium提出了一个路径,在该路径中,您可以使用firefox作为自己的容器,但必须使用remotedriver作为驱动类,它不是crawler4j框架的一部分。有没有一种方便的方法将firefox应用程序下载到我的容器中,或者我必须在框架中解决这个问题?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题