在Docker容器

时间:2015-05-19 01:04:51

标签: java mysql amazon-web-services docker dockerfile

我正在将应用程序部署到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库?

1 个答案:

答案 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}