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

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

相关推荐
Yyyy48218 分钟前
LVS、Nginx、HAProxy 的区别
运维·nginx·lvs
_dindong22 分钟前
Linux系统编程:线程概念
linux·运维·笔记·学习
zhujilisa28 分钟前
k8s基础
云原生·容器·kubernetes
夏天是冰红茶1 小时前
使用Docker将PyQt深度学习项目打包成镜像
运维·docker·容器
落日漫游1 小时前
InnoDB:MySQL高性能事务引擎详解
运维·sql
龙门吹雪1 小时前
Docker 安装 canal 详细步骤
运维·docker·容器·canal·mysql binlog 日志·增量数据订阅消费
椒盐螺丝钉1 小时前
TypeScript类型兼容性
运维·前端·typescript
老黄编程2 小时前
ubuntu如何查看一个内核模块被什么模块依赖(内核模块信息常用命令)?
linux·运维·ubuntu
Freed&2 小时前
Ansible 生产级自动化指南:Playbook、Handlers、Jinja2 全解析
运维·自动化·ansible
b***25112 小时前
储能电池包的自动化产线探秘|深圳比斯特自动化
运维·自动化