12、Docker 容器网络与数据库连接全解析

Docker 容器网络与数据库连接全解析

1. 容器端口暴露与映射

在 Docker 中,在镜像里显式暴露端口并非必要,可通过 docker run --expose 标志来实现此功能。它在容器层面的作用与 Dockerfile 中的 EXPOSE 选项对镜像的作用相同,且能在运行时更灵活地定义要暴露的端口列表,而非将端口固定在镜像中。将端口列表或范围传递给 --expose 可告知 Docker 要在容器上打开哪些端口。当与 -P 选项一起使用时,Docker 会像端口已在镜像中暴露一样分配端口。

以下是 --expose -P 如何与当前的 Oracle 数据库镜像一起工作,打开并分配端口 1521 和 5500 的示例:

> docker run -d \
       --name TEST \
       --expose 1521 \
       --expose 5500 \
       -P oracle/database:19.3.0-ee
0d34bb1d59f85b67b90f19db16d0ab09b91ee000c81187f8847c4fe2f6c186eb
> docker ps -a \
       --format "table {
  
  {.Names}}\t{
  
  {.Ports}}"
NAMES     PORTS
TE
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值