猿问

如何将 SQL Server Java 驱动程序安装到 Linux docker 容器中?

根据文档,下面的 docker 映像定义不包含 SQL Server 驱动程序。

我该如何安装它?

文档: https: //github.com/camunda/docker-camunda-bpm-platform

Docker 文件

FROM alpine:3.10 as builder


ARG VERSION=7.12.0

ARG DISTRO=tomcat

ARG SNAPSHOT=true


ARG EE=false

ARG USER

ARG PASSWORD


RUN apk add --no-cache \

        ca-certificates \

        maven \

        tar \

        wget \

        xmlstarlet


COPY settings.xml download.sh camunda-tomcat.sh camunda-wildfly.sh  /tmp/


RUN /tmp/download.sh



##### FINAL IMAGE #####


FROM alpine:3.10


ARG VERSION=7.12.0


ENV CAMUNDA_VERSION=${VERSION}

ENV DB_DRIVER=org.h2.Driver

ENV DB_URL=jdbc:h2:./camunda-h2-dbs/process-engine;MVCC=TRUE;TRACE_LEVEL_FILE=0;DB_CLOSE_ON_EXIT=FALSE

ENV DB_USERNAME=sa

ENV DB_PASSWORD=

ENV DB_CONN_MAXACTIVE=20

ENV DB_CONN_MINIDLE=5

ENV DB_CONN_MAXIDLE=20

ENV DB_VALIDATE_ON_BORROW=false

ENV DB_VALIDATION_QUERY="SELECT 1"

ENV SKIP_DB_CONFIG=

ENV WAIT_FOR=

ENV WAIT_FOR_TIMEOUT=30

ENV TZ=UTC

ENV DEBUG=false

ENV JAVA_OPTS="-Xmx768m -XX:MaxMetaspaceSize=256m"


EXPOSE 8080 8000


# Downgrading wait-for-it is necessary until this PR is merged

# https://github.com/vishnubob/wait-for-it/pull/68

RUN apk add --no-cache \

        bash \

        ca-certificates \

        openjdk11-jre-headless \

        tzdata \

        tini \

        xmlstarlet \

    && wget -O /usr/local/bin/wait-for-it.sh \

      "https://raw.githubusercontent.com/vishnubob/wait-for-it/a454892f3c2ebbc22bd15e446415b8fcb7c1cfa4/wait-for-it.sh" \

    && chmod +x /usr/local/bin/wait-for-it.sh


RUN addgroup -g 1000 -S camunda && \

    adduser -u 1000 -S camunda -G camunda -h /camunda -s /bin/bash -D camunda

WORKDIR /camunda

USER camunda


ENTRYPOINT ["/sbin/tini", "--"]

CMD ["./camunda.sh"]


COPY --chown=camunda:camunda --from=builder /camunda .


30秒到达战场
浏览 111回答 2
2回答

阿波罗的战车

几天后我就能让它工作了。脚步从 Microsoft 站点下载 JDBC 驱动程序版本 7.2,它将包含 2 个 JAR 文件解压并将文件复制到 docker 文件夹中将文件复制到 camunda LIB 文件夹中,这在任何地方都没有解释,但在与 camunda docker git repo 人员短暂交谈后,他们建议我这样做。只需要在 DOCKER 文件中添加以下行:#MSSQL SERVER JDBC DRIVER INSTALL COPY mssql-jdbc-7.2.2.jre11.jar /camunda/lib/

慕哥6287543

根据您参考的文档,不支持 Microsoft SQL Server。因此,虽然您可以尝试下载 JDBC 驱动程序,然后将其添加到 Docker 映像和类路径中:COPY name_of_jdbc_driver.jar /camunda/mssqlserver.jdbc env CLASSPATH=/camunda/mssqlserver.jdbc这很可能行不通,因为 camunda 软件不支持 MS SQL Server。因此,您应该考虑简单地使用它们明确支持的其他数据库之一。例如,我推荐 PostgreSQL。它是免费的(就像啤酒和语音一样),如果您愿意,您可以在生产中使用它。如果您只是想进行一些测试并且在生产环境中不需要这样做。您指出的说明对如何在 Docker 容器中启动 PostgreSQL,然后启动使用 PostgreSQL 容器作为数据库的 Camunda 容器进行了很好的解释。
随时随地看视频慕课网APP

相关分类

Java
我要回答