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

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

相关推荐
Austindatabases17 分钟前
沧海要,《SQL SERVER 运维之道》,清风笑,竟惹寂寥
运维
ACRELKY4 小时前
光伏运维迎来云端革命!AcrelCloud-1200如何破解分布式光伏四大痛点?
运维·分布式
yuxb735 小时前
Docker学习笔记(二):镜像与容器管理
笔记·学习·docker
星期天要睡觉6 小时前
Linux 综合练习
linux·运维·服务器
saynaihe6 小时前
proxmox8升级到proxmox9
linux·运维·服务器
Delphi菜鸟6 小时前
docker 部署RustDesk服务
运维·docker·容器
Orchestrator_me6 小时前
CentOS交换区处理
linux·运维·centos
FLS1687 小时前
VMwaer虚拟机安装完Centos后无法联网问题
linux·运维·centos
OctopusMonster7 小时前
centos下gdb调试python的core文件
linux·运维·centos
Sweety丶╮7947 小时前
【Kubernetes】知识点总结5
云原生·容器·kubernetes