使用docker部署springboot+MySQL项目
时间: 2023-12-10 16:05:36 浏览: 148
要使用docker部署springboot+MySQL项目,可以按照以下步骤进行操作:
1. 编写Dockerfile文件,指定基础镜像、安装JDK和MySQL等依赖,将项目打包成jar包并复制到镜像中。
```dockerfile
FROM openjdk:11-jdk-slim
VOLUME /tmp
ARG JAR_FILE=target/*.jar
COPY ${JAR_FILE} app.jar
RUN mkdir -p /var/lib/mysql
RUN apt-get update && apt-get install -y mysql-server
RUN echo "bind-address = 0.0.0.0" >> /etc/mysql/mysql.conf.d/mysqld.cnf
RUN service mysql start && \
mysql -uroot -e "CREATE DATABASE db_name" && \
mysql -uroot -e "CREATE USER 'username'@'%' IDENTIFIED BY 'password'" && \
mysql -uroot -e "GRANT ALL PRIVILEGES ON db_name.* TO 'username'@'%';"
EXPOSE 8080
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
```
2. 构建镜像
在Dockerfile的目录下执行以下命令:
```shell
docker build -t springboot-mysql .
```
这里将镜像命名为springboot-mysql。
3. 运行容器
执行以下命令运行容器:
```shell
docker run -d -p 8080:8080 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=password -e MYSQL_DATABASE=db_name -e MYSQL_USER=username -e MYSQL_PASSWORD=password springboot-mysql
```
这里将容器的8080端口映射到主机的8080端口,3306端口映射到主机的3306端口,并指定MySQL的root密码、数据库名、用户名和密码。
4. 访问应用
在浏览器中访问http://localhost:8080,即可访问应用。
注意:如果使用docker-compose进行部署,可以在docker-compose.yml文件中指定MySQL的配置,更加方便和灵活。
阅读全文