首页 >

宿主机怎样与虚机里的docker容器通信 – 数据库 – 前端|

手机更新ios怎么备份文件,校园网络安全怎么检查,微信上发音频怎么保存在哪里找宿主机怎样与虚机里的docker容器通信 - 数据库 - 前端|宿主机怎样与虚机里的docker容器通信

一个非常好的问题。使用Docker时,宿主机和Docker容器之间、Docker容器和Docker容器之间,都需要进行服务间通信。

一,宿主机和Docker容器之间

Docker启动容器时,指定服务端口,比如启动Redis时,端口为6379,这时如果需要访问Redis服务,就使用ip地址:端口,或者直接使用localhost:6379

在需要直接登录到容器时,可以使用docker命令,比如:

docker exec -it data_redis_1 bash

其中data_redis_1时容器名称,可以通过docker ps查看当前容器信息:

二,Docker容器之间

Docker容器快捷高效部署应用,资源编排定义和运行多个容器,通过docker-compose.yml配置文件声明各个服务,作为一个整体来创建和启动。

那么Docker容器之间怎么通信呢?显然是不应该使用IP地址的,应该使用和配置hostname,如果在不同子网,就增加networks信息。

1,配置hostname

以Redis为例,Redis服务被API服务调用,为Redis配置hostname: cache

2,引用hostname

API服务在application.yml中配置Redis连接信息时,使用hostname指定服务地址:

3,不同子网间配置networks信息

实际使用中经常将服务按照不同类别部署在不同子网中,这时需要指定networks信息。以数据层和接口层为例:

1)部署Redis时,配置networks为data,桥接模式

2)部署API服务时,声明networks信息,data是external外部子网

偶是工作多年的Web应用架构师,陆续发布关于软件开发方面的文章,欢迎关注偶,了解更多IT专业知识。


宿主机怎样与虚机里的docker容器通信 - 数据库 - 前端|
  • 51cto是什么平台 - 数据库 - 前端|
  • 51cto是什么平台 - 数据库 - 前端| | 51cto是什么平台 - 数据库 - 前端| ...

    宿主机怎样与虚机里的docker容器通信 - 数据库 - 前端|
  • SVN好还是GIT - 数据库 - 前端|
  • SVN好还是GIT - 数据库 - 前端| | SVN好还是GIT - 数据库 - 前端| ...

    宿主机怎样与虚机里的docker容器通信 - 数据库 - 前端|
  • 为何Access无法编辑数据表中的字段 - 数据库 - 前端|
  • 为何Access无法编辑数据表中的字段 - 数据库 - 前端| | 为何Access无法编辑数据表中的字段 - 数据库 - 前端| ...