docker部署springboot项目
服务器开启mysql
在服务器上开启数据库,之后在本地可以直接使用服务器的ip地址,以及用户名密码远程使用该数据库
docker pull mysql:5.7
docker run -d -p 3000:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
mysql -u root -h 服务器地址 -P 3000 -p
docker ps -a
docker cp xxx.sql 容器号:服务器文件夹地址
docker exec -it 容器号 /bin/bash
mysql -uroot -p
source xxx.sql
mysql -u root -h 服务器地址 -P 3000 -p
source xxx.sql
show databases;
打包springboot项目为jar包
配置pom.xml文件
<project ...>
...
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
执行maven命令打包
mvn clean package
之后在项目的target目录下可以看到jar文件,执行该文件
java -jar xxx.jar
将jar文件上传至服务器
scp xxx.jar root@服务器网址:服务器目的地址
服务器上面安装docker
使用宝塔面板一键安装即可
构建docker镜像
touch Dockerfile
vim Dockerfile
# 基础镜像
FROM java:8
# 将当前目录下的.jar文件拷贝到容器中
COPY *.jar /app.jar
# 提示当前运行的端口
CMD ["--server.port=8080"]
# 暴露运行使用的端口
EXPOSE 8080
# 执行
ENTRYPOINT ["java","-jar","/app.jar"]
docker build -t 镜像名称 .
docker run -d -p 39005:8080 --name 容器名称 镜像名称:镜像标签
- 接下来直接在浏览器输入http://服务器ip地址:39005即可访问网站
配置nginx
# 编辑配置文件nginx.conf,直接添加一个server节点
server {
listen 80;
# 这里填写你的域名
server_name xxx.xxx.xxx;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
# 这里是转发的地址
proxy_pass http://127.0.0.1:39005;
index index.html index.htm;
}
}
nginx -s reload
- 重新运行镜像,在浏览器直接输入http:服务器ip即可访问网站
|