podman-compose icon indicating copy to clipboard operation
podman-compose copied to clipboard

Cannot use service name to exchange visits

Open ktpktr0 opened this issue 2 years ago • 2 comments

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

ktpktr0 avatar Jun 14 '22 07:06 ktpktr0

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

muayyad-alsadi avatar Jun 14 '22 17:06 muayyad-alsadi

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

ktpktr0 avatar Jun 14 '22 21:06 ktpktr0