docker-compose 解决容器间相互通信,例如:容器内项目访问其他容器的mysql

最近使用docker部署的项目,遇到容器间相互通信的问题,遂整理处理以便后续使用。我的应用场景是mysql数据库和springboot项目分别使用不同的docker容器启动,这样导致springboot项目访问数据库受限,期间采用过多种方式都未解决,最后使用docker-compose启动方式完美解决问题。

至于安装docker和docker-compose请自行百度,这里不再讲解。

这里直接贴上docker-compose.yml配置

-links参数是保证容器间通信的关键

version: '2'

services:
    mysql:
        container_name: mysql
        restart: always
        image: docker.io/mysql:ninemax
        environment:
            MYSQL_ROOT_PASSWORD: ninemax
        volumes:
          - ./mysql/:/var/lib/mysql/
        ports:
          - "3308:3306"
        networks:
          - mynet
    benti-images:
      build: .
      container_name: benti-images
      restart: always
      image: benti-images:11.0
      #links链接到其它服务中的容器,配置后benti-images容器就可以用mysql连接数据库,如:mysql:3306
      links: 
        - mysql
      ports:
        - "8080:7080"
      #tty: true 配置是为了容器保持后台运行,不退出。如果不加这个参数,benti-images容器会不断退出不断重启
      tty: true
      networks:
        - mynet
networks: 
    mynet: 
        driver: bridge                                  

启动容器:docker-compose up -d ###  -d参数是进行后台启动

---------------------------分割线---------------------------------------

最新项目已经使用k8s来管理docker容器了,对于k8s这里就不过多介绍了。小弟在这里奉上免费的k8s的视频教程,需要的伙伴可以拿去学习学习。

https://download.csdn.net/download/yanzi920403/88440045

  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值