You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Ubuntu 22.04运行Oracle Database 23ai容器遇主机IP错误求助

解决Oracle Database 23ai容器host网络模式下的监听器IP解析错误

问题原因

使用--network=host模式时,容器共享宿主机的/etc/hosts配置,但Oracle监听器启动时无法从主机名gen-ai-labs-hub解析到有效IP,核心原因是主机名绑定的127.0.1.1未被Oracle监听器识别为有效地址。

解决方法

方法1:修改宿主机/etc/hosts配置

将主机名gen-ai-labs-hub绑定到127.0.0.1,或同时绑定到虚拟机的物理网卡IP(如192.168.x.x):
打开/etc/hosts,修改对应行:

127.0.0.1    localhost gen-ai-labs-hub
127.0.1.1    gen-ai-labs-hub

若虚拟机有固定物理网卡IP(假设为192.168.1.100),也可直接替换为该IP:

192.168.1.100    gen-ai-labs-hub

修改后重启容器:

sudo podman stop 23ai
sudo podman rm 23ai
sudo podman run -d \
    --name 23ai \
    --network=host \
    -e ORACLE_PWD=mypassword2025 \
    -v /opt/oracle/oradata:/opt/oracle/oradata:z \
    container-registry.oracle.com/database/free:latest

方法2:添加ORACLE_HOSTNAME环境变量

启动容器时强制指定Oracle使用localhost作为主机名,跳过自定义主机名的解析:

sudo podman stop 23ai
sudo podman rm 23ai
sudo podman run -d \
    --name 23ai \
    --network=host \
    -e ORACLE_PWD=mypassword2025 \
    -e ORACLE_HOSTNAME=localhost \
    -v /opt/oracle/oradata:/opt/oracle/oradata:z \
    container-registry.oracle.com/database/free:latest

方法3:优先使用IPv4解析

若IPv6解析干扰导致问题,可修改宿主机/etc/gai.conf,让系统优先使用IPv4:
打开文件后取消注释以下行:

precedence ::ffff:0:0/96  100

修改后重启容器即可。

内容的提问来源于stack exchange,提问作者Sourcerer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 10:52:45