docker 部署springboot项目,如何配置数据库连接
时间: 2024-10-28 21:01:09 浏览: 5
mysql主主部署(docker+mysql+nginx+springboot)
在Docker部署SpringBoot项目并配置数据库连接时,通常需要几个步骤:
1. **创建Dockerfile**:这是容器的基础构建文件,包含应用的依赖、环境设置等。首先,在Dockerfile中指定基础镜像(如`openjdk:8-jdk-alpine`),然后安装Spring Boot应用所需的数据库驱动。
```dockerfile
FROM openjdk:8-jdk-alpine
ARG JAR_FILE=target/*.jar
COPY ${JAR_FILE} app.jar
VOLUME /tmp
ENTRYPOINT ["java","-jar","/app.jar"]
```
2. **配置数据库链接**:将数据库连接信息存储在一个外部的环境变量文件(例如`.env`),因为Docker不支持直接在Dockerfile中写死敏感数据。内容可能类似:
```
SPRING.datasource.url=jdbc:mysql://db_host:3306/db_name
SPRING.datasource.username=db_user
SPRING.datasource.password=db_password
```
3. **运行容器**:在`docker-compose.yml`或`docker run`命令中引用这个环境文件,并通过`-e`参数传递到容器中:
```yaml
version: '3'
services:
web:
build: .
ports:
- "8080:8080"
environment:
- .env
```
4. **启动数据库服务**:如果要用单独的容器管理数据库,比如MySQL,也需要在`docker-compose`中配置:
```yaml
services:
db:
image: mysql:5.7
expose:
- "3306"
environment:
MYSQL_ROOT_PASSWORD: my_root_password
MYSQL_DATABASE: my_db_name
MYSQL_USER: db_user
MYSQL_PASSWORD: db_password
```
运行 `docker-compose up`,Spring Boot应用就会在容器内自动读取数据库连接信息并建立连接。
阅读全文