podman-compose
podman-compose copied to clipboard
Cannot use service name to exchange visits
os --verson: Rocky Linux release 8.6 (Green Obsidian) podman-composer version: 1.0.3 podman --version: 4.0.2
I use podman compose to compose my services. They are already under the same network, but the service name cannot be resolved:
[2022-06-14 06:55:01,065] ERROR Unable to resolve address: zookeeper:2181 (org.apache.zookeeper.client.StaticHostProvider)
java.net.UnknownHostException: zookeeper
at java.base/java.net.InetAddress$CachedAddresses.get(InetAddress.java:797)
at java.base/java.net.InetAddress.getAllByName0(InetAddress.java:1509)
at java.base/java.net.InetAddress.getAllByName(InetAddress.java:1368)
at java.base/java.net.InetAddress.getAllByName(InetAddress.java:1302)
at org.apache.zookeeper.client.StaticHostProvider$1.getAllByName(StaticHostProvider.java:92)
at org.apache.zookeeper.client.StaticHostProvider.resolve(StaticHostProvider.java:147)
at org.apache.zookeeper.client.StaticHostProvider.next(StaticHostProvider.java:375)
at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1137)
panic:
msg: open db
loc: /clickvisual/api/internal/invoker/invoker.go:22
error: dial tcp: i/o timeout
addr: mysql:13306
value: &{Dialect:mysql DSN:root:shimo@tcp(mysql:13306)/clickvisual?charset=utf8mb4&collation=utf8mb4_general_ci&parseTime=True&loc=Local&readTimeout=1s&timeout=1s&writeTimeout=3s Debug:true RawDebug:false MaxIdleConns:50 MaxOpenConns:100 ConnMaxLifetime:5m0s OnFail:panic SlowLogThreshold:500ms EnableMetricInterceptor:true EnableTraceInterceptor:true EnableDetailSQL:false EnableAccessInterceptor:false EnableAccessInterceptorReq:false EnableAccessInterceptorRes:false interceptors:[0x10f1f40 0x10f42e0 0x10f25c0] dsnCfg:0xc000aa5ec0}
errKind: register err
Under the same configuration, docker compose can be parsed normally
as you can see in this comment
make sure you have netavark
and aardvark-dns
installed
and make sure to remove containernetworking-plugins
and make sure podman info
show netavark
not oci
$ podman info | grep -i -A3 net
networkBackend: netavark
check this article for details
After installing netavar and Aardvark DNS, I modified /usr/share/containers/containers Conf file, change networkbackend: CNI to networkbackend: netavar, and it works normally
Whether podman is incompatible with nftables. When nftables is used, the port cannot be accessed; Iptables is normal.
Thank you for your