1.把SpringBoot项目打包成jar包:
参考:https://blog.csdn.net/sinat_27672523/article/details/81985805
打成jar包也可以直接点击install
生成在target下面
可能遇到的问题:https://blog.csdn.net/qq_40351478/article/details/88991778
2.编写Dockerfile文件:
FROM openjdk:8-jdk-alpine
COPY ai_farm-0.0.1-SNAPSHOT.jar app.jar
EXPOSE 8080
ENTRYPOINT ["java","-jar","/app.jar","--spring.profiles.active=test"]
3.使用Xftp连接Linuk服务器,并新建一个文件夹,将jar文件和Dockerfile放入文件夹中
4.ssh连接Linuk服务器,进入刚刚新建的文件夹,使用如下命令新建镜像
docker build -t ai_fram .
5.docker images 查看镜像
6.使用如下命令在指定端口启动容器
docker run -d -p 5000:8080 ai_fram
7.浏览器上查看
8.虽然springboot项目已经部署好了,但是mysql数据库还得部署。首先要将项目的sql导入docker的mysql容器中,关于docker中mysql导入外部sql参考:
https://blog.csdn.net/qq_37674858/article/details/80082903
https://blog.csdn.net/u012160319/article/details/81111289
//拉取mysql镜像
cker pull mysql
//启动mysql容器,MYSQL_ROOT_PASSWORD后为指定密码
docker run --name mysql -p 5002:3306 -e MYSQL_ROOT_PASSWORD=123 -d mysql
//查看mysql容器id
docker ps
//复制sql进入容器
sudo docker cp ai_fram.sql containerID:/var
在容器内ls查看目录,看看你复制的sql到指定位置没有,我是复制到var文件夹下面的
9.进入mysql容器
//进入容器
docker exec -it containerID bash
//进入mysql
mysql -h localhost -u root -p
成功的话你会看到
10.运行sql创建表
//创建数据库
create database ai_fram;
//查看数据库
show databases;
//进如数据库
use ai_fram;
//查看表
show tables;
//导入sql
source /var/ai_fram.sql;
//查看表
show tables;
11.docker连接项目容器与mysql
参考:https://www.jb51.net/article/126278.htm
//删除之前正在运行的项目的容器
docker rm -f containerID
//将springboot系统重启连接mysql
docker run --rm -d -p 5000:8080 --link mysql:ai_fram 镜像
d是在后台运行,如何不想后台运行,可以将-d参数替换为-it,这样可以看到项目的输出信息。当然,也可以通过docker logs container-name/container-id查看容器日志。p参数将容器中Spring Boot默认的8080端口映射到了宿主机的5000端口。link参数连接到了mysql容器,并使用了别名ai_fram。
大功告成!