原本我是非host模式启动的docker容器,完全没毛病。quartz可以正常启动。
但是,我想尝试用host模式启动。于是就出现了 问题:
服务启动时quartz会报错误:org.quartz.SchedulerException: Couldn’t get host name!
查询了几个资料,都说只需要在/etc/hosts里添加当前host主机的名称即可。
比如下面这个帖子:
https://blog.csdn.net/Keith_12138/article/details/110450531
然而,我添加了并没有用。
最后看到compose.yml中每个服务还可以配置hostname信息。
于是,我把这个信息配置进去。
version: "3"
services:
myservername:
container_name: myserver01_container
hostname: localhost
image: myimage
env_file:
- ./env/my.env
volumes:
- ../data1:/data1
- ./logs:/logs
entrypoint: java -jar /app.jar
ports:
- "9502:9501"
network_mode: "host"
restart: on-failure
这样我的容器就又可以正常启动了。
quartz也不报错了。