我正在将应用程序部署到Elastic Beanstalk上的预配置GlassFish Docker容器。我需要安装MySQL连接器/ J库,以便GlassFish可以访问它。根据{{3}},“使用预配置的Docker平台,无法使用配置文件来自定义和配置应用程序所依赖的软件。”但它确实声明:“您可以将Dockerfile添加到应用程序的根文件夹中。”
他们提供了一个示例(没有解释!)为Python安装PostgreSQL库,但我使用的是Java和MySQL。由于我对Docker完全不熟悉(并且真的只需要配置这一件事),我无法弄清楚如何做到这一点。使用AWS documentation我能够想出这个:
FROM amazon/aws-eb-glassfish:4.1-jdk8-onbuild-3.5.1
# Exposes port 8080
EXPOSE 8080 3306
# Install MySQL dependencies
RUN curl -L -o /tmp/mysql-connector-java-5.1.34.jar https://repo1.maven.org/maven2/mysql/mysql-connector-java/5.1.34/mysql-connector-java-5.1.34.jar && \
apt-get update && \
apt-get install -y /tmp/mysql-connector-java-5.1.34.jar libpq-dev && \
rm -rf /var/lib/apt/lists/*
但是,在应用程序部署时,我收到以下错误:
t update && apt-get install -y /tmp/mysql-connector-java-5.1.34.jar libpq-dev && rm -rf /var/lib/apt/lists/*] returned a non-zero code: 100"
显然,我的库未安装。 如何使用Dockerfile安装MySQL Connector / J库?
答案 0 :(得分:1)
apt-get install -y /tmp/mysql-connector-java-5.1.34.jar
这不是apt-get
的工作原理。它安装了debian软件包。
有一个名为libmysql-java
的软件包,可能就是您想要的。
您也可以尝试类似
的内容RUN curl -L -o /mysql-connector-java-5.1.34.jar https://repo1.maven.org/maven2/mysql/mysql-connector-java/5.1.34/mysql-connector-java-5.1.34.jar
ENV CLASSPATH=/mysql-connector-java-5.1.34.jar:${CLASSPATH}