docker - 如何从另一个服务访问 docker-compose 中的服务
问题描述
我是 docker 新手,我想知道如何通过 localhost 连接到另一个服务。例如,当我创建一个服务并且如果我想从主机访问它时,我只需在 docker-compose 中提供一个端口映射,例如
-8080:80
然后我localhost:8080
在主机上连接它。我的问题是当我想从另一个 docker 服务或容器中进行连接时如何连接。我要做什么映射?
解决方案
假设您在 Windows 主机上安装了 docker。在 docker-compose 中为每个服务提供一个端口映射。例如。对于一个名为 service1 你做的服务
service1:
ports:
-9001:9000
这里 9000 是您要映射的 service1 中的端口。此端口映射到主机窗口的端口 9001。现在您使用 -> 从 Windows 访问 service1localhost:9001
您可以使用 -> 从 docker 内的另一个服务访问 service1service1:9000
现在,要回答您的问题,您可以执行以下操作
service1:
ports:
-9001:9000
service2:
ports:
-9002:9000
从主机窗口访问 service1 ->localhost:9001
从主机窗口访问 service2 ->localhost:9002
从 docker 内部访问 service1 ->service1:9000
从 docker 内部访问 service2 ->service2:9000
推荐阅读
- javascript - 重复的每日倒计时
- c# - 如何使用 Linq 包含列表
在 selectTableDto 中? - webrtc - 在WebRTC中,当一个用户需要TURN而另一个用户不需要时,他们之间的流量会全部通过TURN服务器吗?
- python - 导入 tensorflow 时出错
- python - php `exec()` 和 `shell_exec()` 可以与 ls 一起使用,但不能与 python 脚本一起使用?
- sequelize.js - 根据另一个 sequelize 查询的结果对查询进行 Sequelize
- python - 如何创建独立于 OS 和 Python 版本的 Python 虚拟环境
- php - 无法使用条件验证规则 - Laravel
- swift - 如何将一个 Cell 插入 UITableView Swift 的第一部分
- node.js - 等待循环完成以运行程序的其余部分