目录
- 1.用IDEA将Springboot打成jar包
- 1.1 在pom.xml文件中添加spring-boot-maven-plugin映射
- 1.2 此处有坑(如果项目引用的jar包不是maven中的,就是自己手动导入的jar)需将手动导入的jar包写入pom.xml中去。举个例子。
- 1.3 用IDEA生成Jar包
- 2.将项目部署到Docker中
- 2.1安装docker
- 2.2将jar包上传至docker中,生成镜像。
- 3.MySQL数据库部署到docker中
- 3.1在docker中下载MySQL数据库
- 3.2 运行mysql镜像
- 3.3进入容器
- 3.4进入数据库
- 3.5修改数据密码
1.用IDEA将Springboot打成jar包
1.1 在pom.xml文件中添加spring-boot-maven-plugin映射
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<includeSystemScope>true</includeSystemScope>
</configuration>
</plugin>
1.2 此处有坑(如果项目引用的jar包不是maven中的,就是自己手动导入的jar)需将手动导入的jar包写入pom.xml中去。举个例子。
sqljdbc4-4.0jar这个包先前在maven一直下载不来,后来自己下载来导入项目中去。
在打jar包时,需要自己根据jar添加映射。Maven 各种映射的地址:https://mvnrepository.com/
//注意,这两行的配置
<scope>system</scope>
<systemPath>${project.basedir}/lib/sqljdbc4-4.0.jar</systemPath>
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>sqljdbc4</artifactId>
<version>4-4.0</version>
<scope>system</scope>
<systemPath>${project.basedir}/lib/sqljdbc4-4.0.jar</systemPath>
</dependency>
1.3 用IDEA生成Jar包
点击Run菜单,选择Edit Configuration。
选择Maven
点击+号,选择Maven
可以自定义Name,输入指令:clean package,点击OK。我这里nfjar就是一个。
选择运行项目运行。
jar包生成在target目录下。
2.将项目部署到Docker中
2.1安装docker
https://www.runoob.com/docker/windows-docker-install.html 修改docker镜像地址,添加加速器
Docker 国内镜像:
阿里云的加速器:https://help.aliyun.com/document_detail/60750.html
网易加速器:http://hub-mirror.c.163.com
官方中国加速器:https://registry.docker-cn.com
ustc的镜像:https://docker.mirrors.ustc.edu.cn
daocloud:https://www.daocloud.io/mirror#accelerator-doc(注册后使用)
docker-machine ssh default
sudo sed -i "s|EXTRA_ARGS='|EXTRA_ARGS='--registry-mirror=加速地址 |g" /var/lib/boot2docker/profile
exit
docker-machine restart default
2.2将jar包上传至docker中,生成镜像。
写Dockerfile文件(没有文件类型)
FROM java:8
VOLUME /tmp
COPY nanzeface.jar /nanzeface.jar
CMD java -jar /nanzeface.jar
EXPOSE 8086
FROM后面是java8环境,COPY(ADD)后面是要上传的jar包,EXPOSE后面是暴露的接口。
将Dockerfile文件和nanzeface.jar放到统一目录下。
在当前目录下,Shift+右击,打开命令窗口。输入
docker build -t nanzeface .
注意镜像名可以自定义,在镜像名后面一个‘.’
查看镜像
docker images
运行镜像
docker run nanzeface
修改容器的端口形式
//刚上传的web项目端口可能是
8086/tcp //这是个坑
这样的形式外网是无法根据IP地址访问的8086端口的
停止运行的容器
docker stop nanzeface
以这种形式运行镜像
docker run -p 8086:8086 nanzeface //-p: 指定端口映射,格式为:主机(宿主)端口:容器端口
3.MySQL数据库部署到docker中
3.1在docker中下载MySQL数据库
docker pull mysql //如果不指定版本号,就下载最新版的
3.2 运行mysql镜像
$ docker run -p 3306:3306 --name mysql02 -e MYSQL_ROOT_PASSWORD=123456 mysql
//-p: 指定端口映射,格式为:主机(宿主)端口:容器端口
//--name mysql02 容器名
//-e MYSQL_ROOT_PASSWORD=123456 初始化密码
3.3进入容器
$ docker exec -it mysql02 /bin/bash
//-i :即使没有附加也保持STDIN 打开
//-t :分配一个伪终端
3.4进入数据库
3.5修改数据密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
flush privileges;