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

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

相关推荐
华纳云IDC服务商1 小时前
通过限制网络访问来降低服务器被攻击风险的方法
运维·服务器·网络
江湖有缘2 小时前
【Docker项目实战】使用Docker部署todo任务管理器
docker·容器·eureka
wdfk_prog2 小时前
[Linux]学习笔记系列 -- [arm][lib]
linux·运维·arm开发·笔记·学习
boy快快长大2 小时前
【Linux】常用命令(三)
linux·运维·服务器
MintonLee复现侠3 小时前
记录RK3588的docker中启动rviz2报错
docker·容器·ros·rk3588·rviz·rviz2
小白不想白a3 小时前
【k8s】k8s安装与集群部署脚本
云原生·容器·kubernetes
我来找弟弟3 小时前
open Euler--单master部署集群k8s
云原生·容器·kubernetes
IT成长日记4 小时前
【自动化运维神器Ansible】playbook命令行变量定义全流程解析
运维·自动化·ansible·变量·命令行·playbook
大明湖畔的小鳄鱼5 小时前
docker安装centos
docker·容器·centos
岩屿5 小时前
.NET 应用程序 Linux下守护进程脚本编写
linux·运维·服务器·c#·.net