docker-compose使用带容器id的extra_hosts
我有一个dockerized应用程序,需要与外部(而不是dockerized)oracle数据库交谈。
只有当我将hostname
命令的结果追加到我的/etc/hosts
文件中的localhost
条目时,该应用才能在本地机器上运行。 否则,我从OracleDB驱动程序中得到一个错误:
由于:oracle.net.ns.NetException:监听器拒绝与以下错误的连接:ORA-12514,TNS:侦听器当前不知道连接描述符中请求的服务
我可以login我的容器并手动编辑/etc/hosts
,我想在重build后避免这个手动步骤。 我如何保持这个文件是最新的?
此外,似乎hostname
设置的hostname
是容器ID。
有没有办法从docker-compose.yml
文件中引用容器ID?
也许容易的方法是为容器设置特定的主机名?
在你的docker-compose文件中设置hostname: foo
,然后使用hostname foo代替基于docker id的hosname。