在Docker中部署SpringBoot项目,关联MySql容器

相关

IntelliJ IDEA
Xshell
Ubuntu18
项目名:testdb

步骤

Docker安装就不说了,直接开始

1. SpringBoot项目打包

(1) 配置application.yml

spring:
  datasource:
    username: root
    password: 123456
    url: jdbc:mysql://dockermysql:3306/testdb?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false
    driver-class-name: com.mysql.cj.jdbc.Driver
    type: com.alibaba.druid.pool.DruidDataSource
server:
  port: 8082

注:此处dockermysql 是mysql容器别名,后面有说明

(2) 打包项目,上传至服务器
用IDEA或者maven命令打包,把jar包放到服务器自己目录下
用idea打包
上传到服务器

root@VM-0-10-ubuntu:/home/ubuntu/jar# ll
total 27412
drwxrwxr-x 2 ubuntu ubuntu     4096 Aug 15 22:46 ./
drwx------ 8 ubuntu ubuntu     4096 Aug 16 16:04 ../
-rw-rw-r-- 1 ubuntu ubuntu      824 Aug 15 22:46 Dockerfile
-rw-rw-r-- 1 ubuntu ubuntu 28055515 Aug 15 22:39 testdb-0.0.1-SNAPSHOT.jar

2. 编写Dockerfile文件

#指定基础镜像
FROM java:8
#声明运行时容器提供服务端口,这只是一个声明,在运行时并不会因为这个声明应用就会开启这个端口的服务
EXPOSE 8082
#维护者信息
MAINTAINER xiezhiwei <test@qq.com>
#这里的 /tmp 目录就会在运行时自动挂载为匿名卷,任何向 /tmp 中写入的信息都不会记录进容器存储层
VOLUME /tmp
#表示把jar包复制到镜像服务里面的根目录,并改名testdb.jar
ADD testdb-0.0.1-SNAPSHOT.jar /testdb.jar
#RUN新建立一层,在其上执行这些命令,执行结束后, commit 这一层的修改,构成新的镜像。
RUN bash -c "touch /testdb.jar"
#指定容器启动程序及参数   <ENTRYPOINT> "<CMD>"
ENTRYPOINT ["java","-jar","testdb.jar"]

dockerfile文件要与jar包在同一目录

2. 执行docker命令

(1)使用当前目录的 Dockerfile 创建镜像,标签为 testdb

  docker build -t testdb .

(2)创建一个新的容器并运行命令

  docker run -p 8082:8082 --name testdb --link mysql:dockermysql -d testdb
  • -p 设置容器端口号 外部访问服务器端口:项目启动端口
  • –name 设置容器名 容器名
  • –link 关联容器 被关联的容器名:被关联容器别名

3. 如果是云服务器不要忘了开通项目端口号

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值