【发布时间】:2021-05-04 12:01:35
【问题描述】:
我正在构建一个使用 Vanilla JDBC 连接到 postgres 数据库的简单 Java 8 应用程序。在ConnectionUtil.java 中的getConnection() 方法中,我将连接凭据保存在以下变量中:
String url = System.getenv("DB_URL");
String username = System.getenv("DB_USERNAME");
String password = System.getenv("DB_PASSWORD");
我的docker-compose.yml文件如下:
version: "3.9"
services:
jdbc:
build: .
ports:
- 7000:7000
volumes:
- ./logs/log.txt:/logs\log.txt
environment:
- DB_URL
- DB_USERNAME
- DB_PASSWORD
container_name: jdbc
更多内容,这里是我的Dockerfile:
# Base image with jdk 8 and maven
FROM maven:3.6.3-openjdk-8 as builder
# Copy pom.xml and source-code
COPY pom.xml pom.xml
COPY src/ src/
# Build application
RUN mvn clean package
# As a separate stage, to save on resulting image size, discard everything from previous stages
FROM java:8 as runner
# Base image only needs JRE 8
# Expose port 7000 for our web-app
EXPOSE 7000
# Copy the jar file from previous stage
COPY --from=builder target/jdbc-demo-jar-with-dependencies.jar app.jar
# Run program
ENTRYPOINT [ "java", "-jar", "app.jar" ]
我还在学习 Docker。我的问题是,我在哪里设置环境变量?
【问题讨论】:
-
您可以直接在
docker-compose.yml文件(docs.docker.com/compose/environment-variables/…) 中设置值,也可以使用单独的.env文件。
标签: docker docker-compose environment-variables