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

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

相关推荐
x县豆瓣酱2 小时前
【第五节】部署http接口到ubuntu server上的docker内
ubuntu·http·docker
豆是浪个2 小时前
Linux(Centos 7.6)命令详解:usermod
linux·运维·centos
Continue_with6 小时前
docker设置代理
运维·docker·容器
彭泽布衣6 小时前
远程登录docker执行shell报错input is not a terminal问题
运维·docker·容器
霖006 小时前
FPGA通信设计十问
运维·人工智能·经验分享·vscode·fpga开发·编辑器
NUZGNAW6 小时前
VMware安装Centos 7
linux·运维·centos
炫爱小七6 小时前
包稳定的Docker 安装方式(CentOS)
docker·容器·centos
筑梦之路7 小时前
linux 系统找出磁盘IO占用元凶 —— 筑梦之路
linux·运维·服务器
青春不流名7 小时前
skywalking镜像应用springboot的例子
docker
搂……住7 小时前
shiro550反序列化漏洞复现(附带docker源)
安全·docker·容器