微服务打包Docker镜像时的数据库链接问题

如果微服务项目中需要链接数据库,那么在打包docker镜像后要将数据库的链接地址修改。

  • 先启动一个mysql容器并映射端口

这里我将容器内部的3306端口映射为3002

在这里插入图片描述

  • 修改微服务的url

在这里插入图片描述
将数据库链接地址设置为动态变量,默认为localhost。

  • 编写Dockerfile
FROM java:8

ADD *.jar /blog.jar

EXPOSE 8081

ENTRYPOINT ["java","-jar","/blog.jar"]
  • 构建docker镜像
docker build -t xxx:1.0 .

注意:maven打包时要跳过单元测试

  • 启动我们构建的镜像
docker run -d \
--name myblog--restart always \  #开机启动
-p 8081:8081 \   #映射容器内部的端口
-e DB_HOST=172.17.0.1 \  #这个DB_HOST就是我们配置的数据库链接地址的动态参数
xxx:1.0
  • 使用 docker logs -tf --tail 1000 容器Id可查看容器运行日志

172.17.0.1这个IP是docker的ip,docker服务占用了一个单独的网卡,而每一个docker容器都会被docker分配一个ip,同时每一个docker容器的ip也将172.17.0.1作为网关。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值