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

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

相关推荐
ljh57464911920 分钟前
linux awk 命令
linux·运维·chrome
Uncertainty!!21 分钟前
将docker镜像上传到github镜像存储仓库(GitHub 容器仓库(GHCR)使用流程)
docker·容器·github
我是谁??33 分钟前
Rocky9+ Docker + 容器内Linux桌面环境 + Web远程
运维·docker·容器
阿虎儿34 分钟前
Ubuntu 如何开启 Root 用户 SSH 登录
运维
the sun341 小时前
Linux驱动开发:环境准备与报错处理
linux·运维·服务器
姓王名礼1 小时前
这是一个完整的全栈交付包,包含Vue3 前端交互界面(集成数字人视频流、ECharts 图表、语音对话)和Docker Compose 一键部署脚本。
前端·docker·echarts
彭泽布衣1 小时前
Linux如何指定源端口打流
linux·运维·网络
Ciel_75211 小时前
OpenClaw 深度进阶:记忆系统、多智能体架构与自动化调度全解析
运维·自动化
晨晖21 小时前
Linux命令3
linux·运维·服务器
eggwyw2 小时前
Redis 设置密码(配置文件、docker容器、命令行3种场景)
数据库·redis·docker