Springboot项目在Docker中的部署

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;
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值