docker中多个容器相互访问的端口问题

假如docker中有一个tomcat,和一个nginx。

bash 复制代码
#创建tomcat容器
docker run -d --name tomcat -p 9081:8080 tomcat:8-jdk8

#创建nginx容器
docker run -d --name nginx -p 9080:8080 nginx:latest

那么当:

  1. 在容器外访问tomcat时,需要使用http://localhost:9081来访问tomcat。

  2. 在nginx中,需要使用proxy_pass http://tomcat:8080来访问tomcat。

前提是两者在同一个docker网络中

bash 复制代码
# 创建一个自定义网络
docker network create my_network

# 确保两个容器在同一个网络中 
docker network connect tomcat
docker network connect nginx

即容器内互相访问时,使用非映射端口,容器外部访问时,使用映射端口。

相关推荐
贵州诚鑫致达科技有限公司5 小时前
Linux的yum源怎么重启?源不是服务
linux·运维·服务器
遇印记6 小时前
传输层,网络层
运维·服务器·网络·windows·学习
品牌常新6 小时前
景区巡逻机器人怎么选?派宝S5全地形守护解析
运维·人工智能·机器人
Elastic 中国社区官方博客6 小时前
一条 ES|QL 查询,涵盖365天的审计日志:在热数据和可搜索快照上执行相同的搜索
大数据·运维·服务器·elasticsearch·搜索引擎·全文检索
澜山奕秋8 小时前
RHCSA
linux·运维·服务器
程序员老赵9 小时前
Docker 部署 Wiki.js:轻松搭建私有化维基知识库
docker·容器·开源
cnnews9 小时前
Chromebox3安装Ubuntu后内存化与最小化 eMMC 写入优化
linux·运维·ubuntu
AliCloudROS9 小时前
OOS ChatOps Agent 定时任务:每天 9 点,让Agent 在钉钉群里交运维报告
运维·自动化运维
CALL158119098459 小时前
SVHC 247项与附录XVII限制物质,REACH测试项目有哪些?
运维·安全·安全性测试