zoukankan      html  css  js  c++  java
  • Docker容器间通信

    如何实现Docker容器间的通信,假设有以下场景,本机部署多个容器,想要实现:

    • 数据库使用Docker部署,如何去连接
    • 服务A依赖服务B,需要调用Http请求

    容器部署完,端口映射好后,正常从本地localhost:{port}是可以访问的,但是如果从容器A内部访问容器B是调不通的。这里涉及到Dockert网络通信相关知识。官方文档:https://docs.docker.com/network/

    具体操作如下:

    • 创建自定义网络设置 docker network create my-net
    • 将相关容器加入该网络 docker network connect my-net my-containerId。也可以在创建容器的时候,命令行上加上 --network my-net
    • 调整连接配置,假设服务A依赖容器mssql,端口映射为 -p 1444:1433。本地的连接字符串为 Server=localhost,1444;Database=MyContext;User ID=sa;Password=123456@SA;Connect Timeout=30。调整为Server=mssql;Database=MyContext;User ID=sa;Password=123456@SA;Connect Timeout=30, mssql 为容器mssql的容器name。

    注意这里映射的端口号是容器内部的端口号,而不是映射到外部的端口号,连接字符串用的是mssql默认端口,不用特别标记。

    这样容器与容器之间以容器name相互通信。

  • 相关阅读:
    Oracle FGA审计记录的清理步骤
    UVa11488-Hyper Prefix Sets(trie树)
    配置Log4j(非常具体)
    poj1190生日蛋糕
    zju1610Count the Colors
    【例9.3】求最长不下降序列
    P1364 医院设置
    P1629 邮递员送信
    P1476 休息中的小呆
    P1330 封锁阳光大学
  • 原文地址:https://www.cnblogs.com/gt1987/p/13673036.html
Copyright © 2011-2022 走看看